Ошибка импорта django - нет модуля с именем core.management

Хорошо, я вижу много таких ошибок. Я пробовал все, что знал, и еще не понял этого.

Я работаю над сервером разработки под управлением python 2.5 и Django 1.3. Django 1.3 был установлен с использованием установки python setup.py после распаковки загрузки tar.gz.

Все работает хорошо, мне редко приходится запускать manage.py, но я пытаюсь использовать новое приложение staticfiles и сталкиваюсь с проблемами.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

Итак, у меня проблема PATH.

Из Установка Django Я дважды проверяю каталог site-packages.

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

Хорошо, проверьте, что у меня есть, echo $PYTHON_PATH было пустым, поэтому я установил его

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

По-прежнему не повезло. Позволяет проверить, что sys.path должен сказать

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']

есть, я даже создал /usr/lib/python 2.5/site-packages/django.pth с содержимым

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/

Кто-нибудь понял, что здесь происходит?

Я нашел символическую ссылку вверх по пути, который мешал, но не к новой ошибке.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version

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

Side node: Unode из #django немного помог мне, настроил virtualenv на том же компьютере и прошел мимо ошибок, поэтому все еще не уверен, что происходит с этой реальной установкой здесь, но, похоже, это не в django проектов, но в установке django/python.

Ответ 1

Как известно, это был путь.

база моих пользовательских пакетов поделилась именем с каталогом, установленным в /etc/profile. Пакеты были в другом месте, но для веб-сервера. Поэтому я удалил оскорбительные записи из моего $PYTHONPATH и был хорош, чтобы идти!

Спасибо за помощь.

Ответ 2

Если, как и я, вы запускаете свой django в virtualenv и получаете эту ошибку, посмотрите на manage.py. Первая строка должна определить исполняемый файл python, используемый для запуска script. Это должно быть путь к вашему виртуальному python, но это что-то не так, как /usr/bin/python, который не является одним и тем же путем и будет использовать глобальную среду python (и пакеты будут отсутствовать). Просто измените путь на путь к исполняемому файлу python в вашем virtualenv.

Вы также можете заменить свою линию shebang на #!/usr/bin/env python. Это должно использовать правильную среду и интерпретатор python при условии, что вы сначала активируете свой виртуальный (я предполагаю, что вы знаете, как это сделать).

Ответ 3

Если вы находитесь в виртуальном режиме, вам нужно активировать его, прежде чем вы сможете запустить. /manage.py 'command'

source path/to/your/virtualenv/bin/activate

если вы сконфигурируете workon в .bash_profile или .bashrc

workon yourvirtualenvname

* пожалуйста, не редактируйте файл manage.py, возможно, работает не корректно и может дать вам будущие ошибки.

Ответ 4

У меня была такая же проблема, потому что я устанавливал Django в качестве суперпользователя, поэтому не был в моем virtualenv. Вы не должны делать sudo pip install Django

Вместо этого установите его следующим образом:

$ source ./bin/activate
$ pip install Django

Ответ 5

Пожалуйста, переустановите django с помощью pip:

sudo pip install --upgrade django==1.3

(замените 1.3 на версию django)

Ответ 6

Другой возможной причиной этой проблемы является то, что ваша ОС запускает python3 по умолчанию.

либо вы явно делаете: python2 manage.py

или вы редактируете shebang для manage.py, например:

#!/usr/bin/env python2

Ответ 7

У меня была эта ошибка при попытке запустить встроенную систему (конечно, с помощью django) на Малиновой Pi 2 не a VM)

Запуск:

 sudo pip install Django

Сделал трюк!

  • на всякий случай, когда человек, использующий Raspbian/Jessie, получает это

Ответ 8

Вероятно, вы используете virtualenvwrapper. Не забудьте выбрать свое окружение, запустив:

$ workon env_name

Ответ 9

Для меня мой сервер использовал Python 2.4. Я просто искал Python 2.7, который был установлен на моем сервере, и создал псевдоним.

alias python=python2.7

Если вам нужно знать больше, я нашел решение здесь

Ответ 10

У меня возникала такая же проблема, когда я пытаюсь создать новое приложение. Если вы пишете python manage.py startapp myapp, тогда он ищет usr/bin/python. Но вам нужен этот "python", который находится в каталоге /bin вашего виртуального env-пути. Я решил это, указав виртуальный путь python так:

<env path>/bin/python manage.py startapp myapp

Ответ 11

Попробуйте изменить первую строку manage.py.

Измените

#!/usr/bin/python

по

#!/usr/bin/env python

Ответ 12

Решил это !!!

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

Моя настройка/сценарий:

  • Windows, Python27
  • Мой проект Django проверен через SVN
  • при запуске python manage.py runserver в новой папке я получил ошибку импорта
  • Python manage.py runserver, используемый для работы в исходной папке (из которой я буду фиксировать изменения), пока я не удалил ее

Решение

Удалите все папки с именем django в той же директории manage.py

Правильно... как только я удалил папку "django", которая содержала только файл __init__.py... Я снова смог запустить сервер!

Понятия не имею, почему, хотя

Ответ 13

Для тех, кто использует Django 1.6 или новее, обратите внимание, что execute_manager удален. Существует решение, размещенное во втором ответе SO здесь.

Ответ 14

Сохраните путь python python в переменной и выполните. Это будет включать в себя отсутствующие пакеты.

python_path= `which python` 
$python_path manage.py runserver

Ответ 15

python3 manage.py runserver

Проверить версию Python

Ответ 16

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

Ответ 17

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

pip install django

Это потому, что виртуальная машина имеет отдельную файловую систему, она не распознает django, даже если она установлена ​​в вашей системе.

Ответ 18

Я исправил эту проблему, изменив #PATH = "$ VIRTUAL_ENV/bin: $PATH" на PATH = "$ PATH: $VIRTUAL_ENV/bin" По причинам, не очевидным для меня, исполняемый файл python в каталоге virtualenv не видит django, но обычно установленный python делает.

Ответ 19

================================== РЕШЕНИЕ =============== ==========================

Первый goto: virtualenv

запустив команду: исходный бин/активировать

и установите django, потому что вы получаете ошибку, связанную с 'import django':

pip install django

Затем запустите: python manage.py runserver

(Примечание: пожалуйста, измените 'runserver' на имя программы, которую вы хотите запустить)

По той же проблеме, это работало в моем случае. ================================== Синопсис =============== ========================== ОШИБКА: (Разработка) Rakeshs-MacBook-Pro: src rakesh $ python manage.py runserver Traceback (последний вызов последнее): файл "manage.py", строка 8, из django.core.management import execute_from_command_line ModuleNotFoundError: Нет модуля с именем 'django'

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний вызов был последним): файл "manage.py", строка 14, в импорте django ModuleNotFoundError: нет модуля с именем 'django'

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний вызов был последним): Файл "manage.py", строка 17, в "Не удалось импортировать Django. Вы уверены, что он установлен и" ImportError: Не удалось импортировать Django ". Вы уверены, что он установлен и доступен для переменной среды PYTHONPATH? Вы забыли активировать виртуальную среду? (Разработка) Rakeshs-MacBook-Pro: src rakesh $ (Разработка) Rakeshs-MacBook-Pro: src rakesh $ (Разработка) Rakeshs-MacBook-Pro: src rakesh $ python -Wall manage.py test Traceback (последний вызов был последним) ): Файл "manage.py", строка 8, из django.core.management import execute_from_command_line ModuleNotFoundError: Нет модуля с именем 'django'

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний вызов был последним): файл "manage.py", строка 14, в импорте django ModuleNotFoundError: нет модуля с именем 'django'

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний вызов был последним): Файл "manage.py", строка 17, в "Не удалось импортировать Django. Вы уверены, что он установлен и" ImportError: Не удалось импортировать Django ". Вы уверены, что он установлен и доступен для переменной среды PYTHONPATH? Вы забыли активировать виртуальную среду?

ПОСЛЕ УСТАНОВКИ Django:

(Разработка) MacBook-Pro: src rakesh $ pip install django Сбор django Скачивание https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103o2.1j0.2yj.jp0. % | ████████████████████████████████ | 7.3MB 1.1MB/s Сбор pytz (из django) Загрузка https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-whany.p0. ████████████████████████████████ | 512kB 4.7MB/s Установка собранных пакетов: pytz, django

ПОСЛЕ РАЗРЕШЕНИЯ:

(Разработка) MacBook-Pro: src rakesh $ python manage.py runserver Выполнение системных проверок...

Проверка системы не выявила никаких проблем (0 отключено).

У вас есть 15 не примененных миграций. Ваш проект может не работать должным образом, пока вы не примените миграции для приложений: admin, auth, contenttypes, session. Запустите "python manage.py migrate", чтобы применить их.

05 августа 2018 - 04:39:02 Django версия 2.1 с использованием настроек 'trydjango.settings' Запуск сервера разработки по адресу http://127.0.0.1:8000/ Закройте сервер с помощью CONTROL-C. [05/Aug/2018 04:39:15] "GET/HTTP/1.1" 200 16348 [05/Aug/2018 04:39:15] "GET/static/admin/css/fonts.css HTTP/1.1" 200 423 [05/Aug/2018 04:39:15] "GET/static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564 [05/Aug/2018 04:39:15] "GET/static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1 "200 81348 [05/Aug/2018 04:39:15]" GET/static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1 "200 80304 не найден: /favicon.ico [05/Aug/2018 04:39:16]" GET/favicon.ico HTTP/1.1 "404 1976

Удачи!!

Ответ 20

ваш проект создается с использованием старой версии django-admin.py, старше django1.3

чтобы исправить это, создайте еще один проект django и скопируйте его manage.py и вставьте его в старый

Ответ 21

Согласился полностью, что это проблема пути, но fwiw, у меня была такая же ошибка. Это было связано с ошибкой использования относительного пути для моего исполняемого файла Python при настройке моей виртуальной среды. Я сделал это:

virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute

Вместо этого мне пришлось предоставить полный путь к исполняемому файлу Python.

НТН, Харлин

Ответ 22

источник ~/blog-venv/bin/activate

выберите ваш virtualenv, чтобы заменить "blog-venv" здесь.

Ответ 23

Убедитесь, что вы используете правильный экземпляр Python с правильными каталогами на пути. В моем случае эта ошибка возникла из-за запуска исполняемого файла python случайно - я фактически установил Django в рамках python2.7 и библиотек. То же самое может произойти и в результате virtualenv.

Ответ 24

Хорошо, так оно происходит следующим образом:

Вы создали виртуальную среду, а модуль django принадлежит только этой среде. Поскольку virtualenv изолирует себя от всего остального, следовательно, вы видите это.

пройдите это для дальнейшей помощи:

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1.Вы можете перейти в каталог, в котором хранится ваша виртуальная среда, а затем запустить модуль django.

2.Возможно, вы можете установить django глобально на ваши python- > site-packages либо с помощью pp или easy_install

Команда using pip: pip install django

то сделайте следующее:

импорт django print (django.get_version()) (в зависимости от используемой версии python.Это для серии python 3+)

а затем вы можете запустить это: python manage.py runningerver и проверьте свой веб-браузер, набрав: localhost: 8000 и вы должны увидеть страницу с питанием django.

Надеюсь, что это поможет.

Ответ 25

Я включил имя нового приложения в список INSTALLED_APPS в settings.py "before" я выпустил команду startapp. Как только я удалил запись списка, я мог бы создать приложение.

Ответ 26

Я решил эту проблему, используя команду "django-admin", как показано ниже:

django-admin startproject _project_name

просто удалите ".py", прикрепленный к "django-admin"

Ответ 27

Наличие приложения под названием site может также воспроизвести эту проблему.

Ответ 28

Я получил это из-за того, что забыл, что установил Django с помощью pip -U, поэтому он был доступен только пользователю, работающему с моим приложением Django. Для запуска manage.py мне пришлось сделать

sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py

Ответ 29

все вы, ребята, не упомянули случай, когда кто-то "как я" установил django для установки virtualenv... так что для всех людей моего рода, если вы это сделали... переустановите django после активации virtualenv..i надеюсь, что это поможет