Django - "ни один модуль с именем django.core.management"

При попытке запустить Django из командной строки я получаю следующую ошибку:

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

Любые идеи о том, как это решить?

Ответ 1

Похоже, что у вас нет установленного django. Вы должны проверить каталог, созданный этой командой:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

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

Если внутри пакетов сайта нет папки django, то у вас нет установленного django (по крайней мере, для этой версии python).

Возможно, у вас установлена ​​более одной версии python, а django находится внутри другой версии. Вы можете узнать все версии python, если вы наберете python, а затем нажмите TAB. Здесь все разные питоны.

$python
python            python2-config    python2.6         python2.7-config  pythonw2.5
python-config     python2.5         python2.6-config  pythonw           pythonw2.6
python2           python2.5-config  python2.7         pythonw2          pythonw2.7

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

python2.5 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
python2.6 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

Если вам посчастливилось найти django внутри say python2.6, попробуйте свою оригинальную команду с помощью

python2.6 manage.py ...

Ответ 2

sudo pip install django --upgrade 

сделал трюк для меня.

Ответ 3

Я получил ту же ошибку, и я исправил ее следующим образом:

Мне пришлось активировать свою виртуальную среду, используя следующую команду

source python2.7/bin/activate

Ответ 4

Скорее всего, в вашей manage.py первая строка начинается с !/usr/bin/python, что означает, что вы используете системный глобальный питон, а не тот, который находится в вашей виртуальной среде.

поэтому замените

/usr/bin/python

с

~/projectpath/venv/bin/python

и вам должно быть хорошо.

Ответ 5

Хорошо, сегодня я столкнулся с такой же ошибкой после установки virtualenv и django. Для меня это было то, что я использовал sudo (sudo pip install django) для установки django, и я пытался запустить manage.py runningerver без sudo. Я просто добавил sudo, и это сработало.:)

Ответ 6

Используете ли вы виртуальную среду с виртуальным Wrapper? Вы на Mac?

Если да, попробуйте следующее:

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

1.)

source virtualenvwrapper.sh

или

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

Примечание (от новичка) - не помещайте скобки вокруг имени вашей среды

Ответ 7

Эта проблема возникает, когда django не установлен на вашем компьютере. Если django не установлен, значит, модуль django.core.management также не установлен. Поэтому он не нашел этот модуль, и он дает ошибку.
Для решения этой проблемы мы должны установить django с помощью pip. Откройте командную строку cmd (на окнах) и введите as

pip install django

Эта команда установит django на ваш компьютер. Если у вас нет инсталляции. вы должны установить pip. Здесь, как установить pip в windows

Ответ 8

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

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

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

Ответ 9

У меня такая же проблема при запуске команды

python manage.py startapp < app_name >

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

Ответ 10

В случае, если это полезно другим... У меня была эта проблема, потому что мой virtualenv по умолчанию был python2.7, и я вызывал Django, используя Python3, используя Ubuntu.

чтобы проверить, какой python использовал мой virtualenv:

$ which python3
>> /usr/bin/python3

создал новый virtualenv с указанным python3 (используя virtualenv wrapper https://virtualenvwrapper.readthedocs.org/en/latest/):

$ mkvirtualenv --python=/usr/bin/python3 ENV_NAME

путь python должен теперь указывать на виртуальный питон:

$ which python3
>> /home/user/.virtualenvs/ENV_NAME/bin/python3

Ответ 11

Я испытываю то же самое, и это то, что я делаю.

Сначала моя установка

pip install -r requirements.txt

не работает в моей активной среде. Поэтому я активировал свою среду, а затем снова запускал

pip install -r requirements.txt

Ответ 12

Это также происходит, если вы измените структуру каталогов вашего проекта python (я сделал это, а затем озадачил изменение в поведении). Если вы это сделаете, вам нужно будет изменить строку в файле /bin/activate. Итак, скажите, что ваш проект был

/User/me/CodeProjects/coolApp/

и ваш файл активации находится в

/User/me/CodeProjects/coolApp/venv/bin/activate

когда вы настраиваете свой проект, вы изменили проект на

/User/me/CodeProjects/v1-coolApp/

или что-то в этом роде. Затем вам нужно будет открыть

/User/me/CodeProjects/v1-coolApp/venv/bin/activate

найдите строку, в которой говорится

VIRTUAL_ENV="/User/me/CodeProjects/coolApp"
export VIRTUAL_ENV

и измените его на

VIRTUAL_ENV="/User/me/CodeProjects/v1-coolApp"

перед реактивацией

Ответ 13

В моем случае я использую Ubuntu. Проблема может заключаться в том, что у меня нет разрешения на запись в эту папку в качестве обычного пользователя. Вы можете просто добавить sudo перед своей командой, и он должен работать отлично. В моем случае sudo python manage.py syncdb.

Ответ 14

У меня была такая же проблема, и после того, как все получилось хорошо, вы должны перемещаться по основной папке в своем проекте, чем тип:

source bin/activate 

Ответ 15

имела ту же самую проблему. Команда "python manage.py migrate" запускает команду root. отлично работает с правами root (sudo python manage.py migrate)

Ответ 16

У меня была такая же проблема, и причина, по которой я получал это сообщение, состояла в том, что я делал "manage.py runningerver", тогда как "python manage.py runningerver" исправил его.

Ответ 17

В моем случае я использовал pyCharm 5 на mac. У меня также была эта проблема, и после выполнения этой команды моя проблема была решена.

sudo pip install django --upgrade 

Ответ 18

Сначала вы должны выбрать свой проект перед запуском сервера, введите его workon your_project_name тогда python manage.py runserver

Ответ 19

Вы можете попробовать это так: python3 manage.py migrate (сделать sur в каталоге src/)

Вы также можете попробовать с помощью pip install -r requirements.txt (убедитесь, что вы видите файл requirements.txt при вводе ls после переноса

Если в конце концов он все равно не будет работать, попробуйте pip install django

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

Ответ 20

Конфликт прав на файл и каталог может вызвать проблемы. Убедитесь, что права на каталоги и файлы в проекте принадлежат текущему пользователю. (Вы можете изменить их, используя команду chown с параметром -R.) Попробуйте перезапустить команду: это решило проблему для меня при запуске примера "Первый Django App":

python manage.py startapp polls

Ответ 21

У меня возникла такая же проблема, пытаясь использовать python manage.py runningerver. В моем случае я просто использую sudo su. Используйте терминал в качестве корня и повторите попытку, пока он работает частично. Поэтому я использую команду python manage.py migrate и исправляю ее.