ModuleNotFoundError: Ни один модуль с именем 'django' при запуске manage.py - PullRequest
0 голосов
/ 12 апреля 2019

Я установил virtualenv, а затем установил django в свою Windows 10. После активации virtualenv и запуска: python manage.py runserver я получаю:

File "manage.py", line 10, in main
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

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?

Также только что обнаружен во время работы django-admin.exe Я получаю:

Note that only Django core commands are listed as settings are not properly
configured (error: Requested setting INSTALLED_APPS, but settings are not
configured. You must either define the environment variable
DJANGO_SETTINGS_MODULE or call settings.configure() before accessing
settings.).

Manage.py:

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'wordcount.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise 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?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

У вас есть 2 версии Python: основная, которая установлена ​​по умолчанию, и та, которая используется virtualenv.

При запуске pip install django Django устанавливается в основной версии Python, и это потому, что переменная окружения PYTHONPATH ссылается на путь основной версии, а не на virtualenv.

То же самое происходит, когда вы запускаете python manage.py runserver. Он не запускает питона от virtualenv.

Чтобы решить эту проблему, вам нужно получить доступ к пипу из virtualenv, а затем вызвать Django с его помощью

C:\the\path\to\virtualenv\path\to\pip.exe install django

И, как и pip, запустить python.exe из virtualenv

C:\the\path\to\virtualenv\path\to\python.exe manage.py runserver

Если вы используете PyCharm для разработки, вы можете легко установить свой venv в качестве переводчика.

Теперь, чтобы запустить django и точно так же, как pip, вы получите доступ к python из virtualenv

1 - Файл> Настройки> Ваш проект> Python Interpreter

2 - Щелкните значок настроек справа, а затем нажмите «Добавить»

3 - Кликните на Virtualenv Environment и выберите местоположение

enter image description here

enter image description here

enter image description here

После настройки virtualenv вы можете легко использовать PyCharm для управления пакетами

enter image description here

0 голосов
/ 12 апреля 2019

Вы можете проверить, установили ли вы django, создав программу на python и импортировав django

import django 
print (django.VERSION)

Над кодом будет напечатана установленная версия django, подтвердите, установлена ​​ли у вас django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...