اذهب إلى المحتوى
  • 0

خطأ في مشروع دجانغو ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

السؤال

نشر

مرحبا لدي مشكلة في مشروع دجانغو علما أن المشروع كان يعمل سابقا 

عند تنفيذ الامر  python manage.py runserver أو python manage.py migrate

يظهر الخطأ

    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

احاول تثبيتها من خلال الامر التالي pip install virtualenv   

فتظهر الرسالة:

Traceback (most recent call last):
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Lenovo\Desktop\Medical\Scripts\pip.exe\__main__.py", line 4, in <module>
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\cmdoptions.py", line 24, in <module>
    from pip._internal.cli.parser import ConfigOptionParser
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\parser.py", line 12, in <module>
    from pip._internal.configuration import Configuration, ConfigurationError
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\configuration.py", line 20, in <module>
    from pip._internal.exceptions import (
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\exceptions.py", line 13, in <module>
    from pip._vendor.requests.models import Request, Response
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\requests\__init__.py", line 149, in <module>
    from . import packages, utils
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\requests\utils.py", line 58, in <module>
    DEFAULT_CA_BUNDLE_PATH = certs.where()
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\certifi\core.py", line 50, in where
    _CACERT_CTX = get_path("pip._vendor.certifi", "cacert.pem")
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\resources.py", line 119, in path
    reader = _common.get_resource_reader(_common.get_package(package))
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\_common.py", line 67, in get_package
    if wrap_spec(resolved).submodule_search_locations is None:
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\_adapters.py", line 16, in __getattr__
    return getattr(self.spec, name)
AttributeError: 'NoneType' object has no attribute 'submodule_search_locations'

مع العلم قمت بتنصيب و تشغيل مشاريع أخرى قبل إعادة التحقق من عمل مشروعي لا أعرف ما الذي سبب عدم عمله 

Recommended Posts

  • 0
نشر
بتاريخ 54 دقائق مضت قال Zeina Makdisi:

مرحبا لدي مشكلة في مشروع دجانغو علما أن المشروع كان يعمل سابقا 

عند تنفيذ الامر  python manage.py runserver أو python manage.py migrate

يظهر الخطأ


    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

احاول تثبيتها من خلال الامر التالي pip install virtualenv   

فتظهر الرسالة:


Traceback (most recent call last):
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Lenovo\Desktop\Medical\Scripts\pip.exe\__main__.py", line 4, in <module>
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\cmdoptions.py", line 24, in <module>
    from pip._internal.cli.parser import ConfigOptionParser
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\cli\parser.py", line 12, in <module>
    from pip._internal.configuration import Configuration, ConfigurationError
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\configuration.py", line 20, in <module>
    from pip._internal.exceptions import (
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_internal\exceptions.py", line 13, in <module>
    from pip._vendor.requests.models import Request, Response
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\requests\__init__.py", line 149, in <module>
    from . import packages, utils
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\requests\utils.py", line 58, in <module>
    DEFAULT_CA_BUNDLE_PATH = certs.where()
  File "C:\Users\Lenovo\Desktop\Medical\lib\site-packages\pip\_vendor\certifi\core.py", line 50, in where
    _CACERT_CTX = get_path("pip._vendor.certifi", "cacert.pem")
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\resources.py", line 119, in path
    reader = _common.get_resource_reader(_common.get_package(package))
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\_common.py", line 67, in get_package
    if wrap_spec(resolved).submodule_search_locations is None:
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python310\lib\importlib\_adapters.py", line 16, in __getattr__
    return getattr(self.spec, name)
AttributeError: 'NoneType' object has no attribute 'submodule_search_locations'

 

ما الذي تحاولين تثبيته من خلال الأمر التالي: pip install virtualenv ؟

إن هذا الأمر يقوم بتثبيت أداة تسمح لك بإنشاء بيئات افتراضية و لكن المشكلة هنا أنه لا يرى ال django، هل كنتي تستعملين بيئة افتراضية من قبل؟

و هل يمكنك مشاركة الكود الخاص بالمشروع أو على أقل تقدير الملف الخاص بالبيئة في حال وجوده؟

  • 0
نشر

اذا كان المشروع يعمل سابقاً فهذا يدل على أنه كنتي تستخدمين بيئة افتراضية ومثبت عليها django ولكن عند تشغيل المشروع بدون تفعيل البيئة الإفتراضية فإنه سوف يظهر الخطأ الذي يقول :

ModuleNotFoundError: No module named 'django'

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

لأن البيئة الإفتراضية غير مفعلة فعليك القيام بالتالي فتح الطرفية في المسار الذي يوجد به المشروع والقيام بتفعيل البيئة الإفتراضية:

 .\env\Scripts\activate

بعد ذلك تشغيل المشروع :

 python manage.py runserver

 

  • 0
نشر

ربما سبب الخطأ عملك على أكثر من حزمة لتوفير بيئة افتراضية من مشاريع مختلفة، فأصبح هنالك تضارب في مكتبات تم تثبيتها من خلال pip وفي الكاش الخاص به.

يمكن البدء بحذف الكاش من خلال الأمر:

pip cache purge

أو يدوياً: 

نحذف ما داخل المجلد:
%LocalAppData%\pip\Cache



و يمكن التحقق من مسار الكاش:

pip cache dir

➜ pip3 cache dir
/home/tawanda/.cache/pip

بعدها نعود للمشروع ونحاول تفعيل البيئة الافتراضية.

كحل جذري للمشكلة، أرجو فتح python installer من جديد ثم من خلاله نحذف التثبيت وجميع البيانات والكاش من خلال تحديد ذلك ضمن الواجهة الرسومية (عمل check على الخيار)

نعيد تشغيل الحاسوب تثبيت بايثون و pip ونعود لمشروعك الذي تعملين عليه، هنا نعيد تثبيت المكتبات التي كنت تعملين عليها بعد تفعيل البيئة الافتراضية لنفس الحزمة التي تم استخدامها من قبل هل كانت pipenv أو غيرها؟ و حاولي تشغيل المشروع

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...