Ответ 1
Чтобы исправить мою проблему, я использовал следующую строку в моем .zprofile:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
Я пытался импортировать Django, и его не удалось найти, и выполнение вышеописанной проблемы.
Я пытаюсь запустить python manage.py runserver
в приложении Django, которое у меня есть, и я получаю эту ошибку:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Вот вывод pip freeze | grep -i django
, чтобы показать, что я действительно установил Django:
Django==1.6.5
django-cached-authentication-middleware==0.2.0
django-cors-headers==1.1.0
django-htmlmin==0.7.0
django-static-precompiler==0.9
djangorestframework==2.3.14
Кроме того, попытка выполнить /usr/local/bin/python2.7 manage.py runserver
дает ту же ошибку.
Чтобы исправить мою проблему, я использовал следующую строку в моем .zprofile:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
Я пытался импортировать Django, и его не удалось найти, и выполнение вышеописанной проблемы.
Возможные проблемы, которые могут вызвать вашу проблему:
PYTHONPATH настроен неправильно, чтобы его настроить:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
Вы забыли строку #!/usr/bin/env python
в начале manage.py
Если вы работаете с virtualenv, вы забыли активировать виртуальный env для выполнения команд manage.py(возможно, вы установили Django в свою систему, но не на ваш virtualenv)
source path/to/your/virtualenv/bin/activate
или
workon env_name
У вас есть Python 2.7 и Python 3.4, входящие в пакет
Вы используете очень старый Python 2.4, и вы должны сказать системе использовать свой Python 2.7 с помощью
alias python=python2.7
Несколько раз переустановка/обновление Django устраняет некоторые из этих проблем.
Вы можете выполнить
python -c "import django; print(django.get_version())"
чтобы проверить, установлен ли Django на вашем ПК или ваш virtualenv, если вы используете один
Вы можете найти другие решения в других подобных вопросах:
Я решил эту же ошибку, выполнив следующую команду:
python3.4 manage.py runserver
И эта команда успешно выполнена для меня. Итак, что вы можете попробовать, если вы используете python 2.7, то просто замените 3.4 на 2.7. Надеюсь, это поможет.
Я столкнулся с той же проблемой, когда выполнил всю настройку и запустил django с Python3, но выполнил следующую команду:
$ python manage.py migrate
исправлена проблема с использованием согласованной версии Python:
$ python3 manage.py migrate
Operations to perform:
Apply all migrations: sessions, auth, admin, contenttypes
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying sessions.0001_initial... OK
Другие команды, которые я выполнил до этого:
python3 -m pip install django
django-admin startproject learning_site
python3 manage.py runserver 0.0.0.0:8000
Если вы используете virtualenv
и запустите manage.py runserver
в системе Windows, cmd будет использовать системный python, а не питон в virtualenv.
Потому что если вы устанавливаете python
в систему, cmd автоматически будет использовать python
, установленный в системе, а не питон в virtualenv
.
Поэтому, если вы используете virtualenv
в Windows. вам нужно запустить
>python .\manage.py runserver
Эта ошибка связана с пользовательской средой. Действительно, я просто добавляю путь bin bin virtuel к PATH, и проблема решена.
PATH=/bin/of_virtualenvironment/:$PATH
Прямая проблема заключается в том, что пакет django отсутствует. Для меня, когда я запускал django в virtualenv, эта проблема возникает после того, как я переименую свой рабочий каталог.
Повторная установка env сработала для меня.
где находится ваш файл django, проверьте первую строку django-admin.py:
#!/usr/bin/env python
Если вы используете python 3+, python
здесь может ссылаться на python2 здесь. Поэтому проверьте, какой из python вы устанавливаете django с.
ls -l $(which -a python3)
Если у вас установлен python3 и не связан как python
, измените первую строку shebang на
#!/usr/bin/env python3
Кроме того, убедитесь, что вы не испортили свой .bashrc
с помощью alias
es.
Вы получите такие ошибки, если .bashrc
содержит что-то вроде alias python="/usr/bin/python3"
.
Я обнаружил, что могу импортировать модуль django из интерпретатора python, но django-admin.py не смог импортировать его при запуске из командной строки.
Я подтвердил, что я использую интерпретатор python в своей виртуальной среде.
Я использовал 64-битную версию python. Деинсталляция и установка 32-разрядной версии, а затем повторное создание моего venv решили это для меня.
Исправлена та же проблема в моем проекте с использованием только;
pip install -r requirements.txt
Мне больше ничего не нужно было делать. Когда я запускал ./manage.py runserver
все работало!
я решил эту проблему, установив Django в виртуальной среде, над которой я работал