رفع خطای ModuleNotFoundError در Flask
یکی از خطاهای رایج که ممکن است هنگام اجرای برنامههای نوشتهشده با فریمورک Flask با آن مواجه شوید، ModuleNotFoundError است. این ارور معمولاً زمانی رخ میدهد که پایتون قادر به پیدا کردن ماژول موردنظر شما نیست. در ادامه راه کارهای رفع این خطا بررسی خواهد شد:
1- بررسی نام ماژول
قبل از هر اقدامی، می بایست مطمئن شوید نام ماژولی که در کدهای خود استفاده کردهاید، بهدرستی نوشته شده است. اشتباهات املایی یا استفاده از نامهای نادرست میتواند به این خطا منجر شود:
نمونه صحیح |
نمونه نادرست |
from flask import Flask |
from flsk import Flask |
2- استفاده از محیط مجازی (Virtual Environment)
اگر از محیط مجازی استفاده نمیکنید، پیشنهاد میشود که برای مدیریت وابستگیها و جداسازی پروژهها، یک محیط مجازی بسازید. بدین صورت که ابتدا با استفاده از دستور زیر آن را ایجاد کنید: (توجه شود که test نام فضای مد نظر شما است)
python -m venv test
سپس برای فعال نمودن محیط مجازی از دستورات زیر بهره ببرید:
-
برای لینوکس/مک:
source test/bin/activate
-
برای ویندوز:
test\Scripts\activate
پس از فعالسازی محیط مجازی، دوباره Flask را با استفاده از دستور زیر نصب کنید:
pip install flask
3- نصب ماژول Flask
اگر مطمئن هستید که نام ماژول درست است، احتمالاً Flask روی سیستم شما نصب نشده است. برای نصب Flask از دستور زیر استفاده کنید:
pip install flask
اگر خارج از هاستتان از محیط مجازی (virtual environment) استفاده میکنید، حتماً مطمئن شوید که محیط مجازی فعال باشد.
4- بررسی نسخه پایتون و pip
ممکن است ماژول روی نسخه دیگری از پایتون نصب شده باشد. برای بررسی نسخه پایتون و pip که استفاده میکنید، دستورات زیر را اجرا کنید:
-
بررسی نسخه پایتون:
python --version
-
بررسی نسخه pip:
pip --version
اطمینان حاصل کنید که نسخههای مورد استفاده با برنامه شما سازگار هستند. اگر نیاز به استفاده از ورژن خاصی دارید، میتوانید نسخه مناسب را نصب کنید. به طور مثال:
python3.9 -m pip install flask
5- بررسی فایل requirements.txt
اگر پروژه شما از فایل requirements.txt استفاده میکند، مطمئن شوید که Flask به درستی در این فایل تعریف شده باشد:
نمونه محتوای requirements.txt:
flask==2.3.2
6- بررسی مسیر ماژول
گاهی اوقات ممکن است ماژول در مسیری نصب شده باشد که پایتون به آن دسترسی ندارد. برای بررسی مسیرهای پایتون از دستور زیر استفاده کنید:
import sys
print(sys.path)
اگر ماژول موردنظر در مسیرهای لیستشده وجود ندارد، میتوانید مسیر آن را به صورت دستی اضافه کنید:
import sys
sys.path.append("/path/to/module")
7- حذف و نصب مجدد ماژول
در صورتی که پس از پیگیری تمامی راهکارهای ارائه شده باز هم خطا دارید، میتوانید ماژول را حذف و دوباره نصب کنید. برای حذف آن از دستور زیر:
pip uninstall flask
و سپس برای نصب مجدد هم از دستور زیر استفاده نمایید:
pip install flask
8- بررسی مشکلات سیستم یا IDE
-
اگر از IDE خاصی مانند PyCharm استفاده میکنید، مطمئن شوید که مسیر پایتون تنظیمشده در IDE با محیطی که ماژولها نصب شدهاند یکسان باشد.
-
اگر چندین نسخه از پایتون روی سیستم شما نصب است، مطمئن شوید از نسخهای استفاده میکنید که Flask روی آن نصب شده است.