Ошибка импорта django - нет модуля с именем core.management - PullRequest
180 голосов
/ 18 мая 2011

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

Я работаю на сервере разработки под управлением Python 2.5 и Django 1.3. Django 1.3 был установлен с помощью python setup.py install после распаковки загрузки 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/python2.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.

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

Ответы [ 29 ]

0 голосов
/ 23 декабря 2016

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

django-admin startproject _project_name

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

0 голосов
/ 03 апреля 2013

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

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

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

HTH, Harlin

0 голосов
/ 27 января 2016

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

0 голосов
/ 09 декабря 2015

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

0 голосов
/ 10 октября 2013

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

0 голосов
/ 03 мая 2014

Хорошо, это выглядит так:

Вы создали виртуальную среду, и модуль 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-либо, выполнив команду pip или easy_install

Команда, используя команду pip: pip install django

, затем сделать это:

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

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

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

0 голосов
/ 18 мая 2011

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

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

0 голосов
/ 14 июля 2019

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

sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py
0 голосов
/ 22 апреля 2013

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

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

...