ImportError: не удалось импортировать Django

Я уже настроил virtualenv в pycharm, используя команду python manage.py, это ошибка:

E:\video course\Python\code\web_worker\MxOnline>python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it installed and "
ImportError: Couldn't import Django. Are you sure it installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Как это исправить, я установил django.

Ответ 1

Я думаю, что лучший способ использовать django - с виртуальным доступом он безопасен, и вы можете установить множество приложений в virtualenv, которые не влияют на какое-либо внешнее пространство системы. Vitualenv использует стандартную версию python, которая такая же, как и в вашей системе, для установки virtualenv

sudo pip install virtualenv

или для python3

sudo pip3 install virtualenv

а затем в вашем каталоге

mkdir ~/newproject

cd ~/newproject

Теперь создайте виртуальную среду в каталоге проекта, набрав

virtualenv newenv

Чтобы установить пакеты в изолированную среду, вы должны активировать ее, введя:

source newenv/bin/activate

теперь установите здесь

pip install django

Вы можете проверить установку, введя:

django-admin --version

Чтобы выйти из вашей виртуальной среды, вам необходимо выпустить команду deactivate из любой точки системы:

deactivate

Ответ 2

Вам нужно установить Django, эта ошибка дает, поскольку django не установлен.

pip install django

Ответ 3

У меня были большие трудности с этим, но я решил свою проблему. Я на Windows 10 использую Vagrant ssh в моей среде virtualenv, я установил коробку ubuntu/xenial64, Django версия 2.1, python == 3.6.

Когда я устанавливал пакеты, я использовал pip3, но самое главное, я использовал sudo и флаг -H для установки этих пакетов. Когда я запускал sudo pip3 freeze мои пакеты sudo pip3 freeze, но когда я запускал обычную pip3 freeze, пакетов не было.

Затем я попробовал python3 manage.py startapp <YOUR APP NAME> и он не сработал так же, как вы.

Наконец-то я решил попробовать sudo python3 manage.py startapp <YOUR APP NAME> наконец-то это сработало!

Надеюсь это помогло :)

Ответ 5

Если у вас активировано виртуальное env, django установлен, django-admin --version печатает допустимую версию - проверьте, нет ли циклического импорта в исполняемом файле.

Ответ 6

Я столкнулся с той же проблемой, когда делал это в Windows 10. Проблема может заключаться в том, что путь не определен для manage.py в переменных среды. Я сделал следующие шаги, и это сработало для меня!

  1. Перейдите в меню "Пуск" и выполните поиск manage.py.
  2. Щелкните правой кнопкой мыши на нем и выберите "скопировать полный путь".
  3. Перейдите в "Мой компьютер" или "Этот компьютер".
  4. Щелкните правой кнопкой мыши и выберите "Свойства".
  5. Выберите Дополнительные настройки.
  6. Выберите "Переменные среды".
  7. В нижнем окне найдите "Путь", щелкните по нему и нажмите "Изменить".
  8. Наконец, нажмите "Добавить новое".
  9. Вставьте скопированный путь с помощью CTRL-V.
  10. Нажмите "ОК", а затем перезапустите CMD с правами администратора.

Я действительно надеюсь, что это сработает!

Ответ 7

Я столкнулся с той же проблемой, и, поскольку я был уверен, что путь должен быть определен, я искал истинную причину. Решение было активировать virtualenv, так как не активировать его. Если ваша ситуация такая же, как у меня, вам не нужно будет искать какое-либо из хороших решений, перечисленных выше. Я думал, что это может помочь некоторым из вас :)

Ответ 8

Вам нужно использовать обе команды: pip install django и pip3 install django, которые помогли мне

Ответ 9

Я решил эту проблему совершенно по-другому.

Package installer = Conda (Miniconda)
List of available envs = base, djenv(Django environment created for keeping project related modules).

Когда я использовал командную строку для активации djenv с помощью conda activate djenv, базовая среда уже была активирована. Я не заметил, что и когда djenv был активирован, (djenv) отображался в начале подсказки в командной строке. Когда я устал выполнять, python manage.py migrate, это произошло.
ImportError: Couldn't import Django. Are you sure it installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Я выключил текущую среду, т.е. conda deactivate. Это деактивированный djenv. Затем я деактивировал base среду.
После этого я снова активировал djenv. И команда работает как шарм!

Если кто-то сталкивается с подобной проблемой, я надеюсь, вам стоит попробовать и это. Может быть, это поможет.

Ответ 10

Вместо того, чтобы создавать новую виртуальную среду, вам просто нужно получить доступ к вашей изначально созданной виртуальной среде при запуске проекта.

Вам просто нужно сделать следующее в командной строке:

1) pipenv shell для доступа к виртуальной среде бэкэнда, которую вы изначально создали.

2) Затем, python manage.py runserver

Дайте мне знать, если это работает для вас или нет.

Ответ 11

Вполне возможно, что django2.0 будет использовать python3

[email protected]:~/bj18/test1$ ls 

booktest manage.py test1 

[email protected]:~/bj18/test1$ python manage.py startapp booktest1
Traceback (most recent call last):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: Traceback (most recent call last): File "manage.py", line 21, in <module> main() File "manage.py", line 16, in main ) from exc ImportError: Couldn't import Django. Are you sure it installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? 

[email protected]:~/bj18/test1$ python3 manage.py startapp booktest1 

[email protected]:~/bj18/test1$ python -V 

Python 3.7.3 

[email protected]:~/bj18/test1$ python3 -V 

Python 3.6.8

Ответ 12

Похоже, вы не активировали свой virtualenv при использовании команды runserver.

Windows: <virtualenv dir>\Scripts\activate.bat

Linux: source <virtualenv dir>\bin\activate

Вы должны увидеть (имя virtualenv) в качестве префикса к текущей директории:

(virtualenv) E:\video course\Python\code\web_worker\MxOnline>python manage.py runserver

Ответ 13

Если вы работаете на компьютере, где у него нет прав доступа ко всем файлам, и, кроме того, у вас есть две версии, такие как версия по умолчанию 2.7 & последний 3.6, тогда во время выполнения команды используйте версию python вместе с командой. Если последний пакет Python установлен с помощью sudo, выполните команду с помощью sudo.

ехр:

sudo python3.6 manage.py runserver