Ошибка импорта 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 надеюсь, что это поможет