Ошибка импорта: нет модуля с именем django
Я использую centos linux.
У меня был python 2.6 с django, и теперь я обновлен до python 2.7.
Python 2.6 находится в /usr/lib/python 2.6.
Python 2.7 находится в /usr/local/lib/python 2.7.
Они оба имеют каталог сайтов-пакетов, и оба они содержат django 1.2.
Если я запустил python, я получу версию 2.7.
Моя проблема в том, что если попытаться импортировать django, я получаю
ImportError: нет модуля с именем django
Я не уверен, где мой PYTHONPATH, и если это то, что мне нужно изменить.
кто угодно?
i закончил создание символической ссылки на каталог сайтов сайтов 2.6.
Ответы
Ответ 1
Чтобы проверить свой путь, вы можете использовать следующий код:
import sys
print sys.path
Если вы уже знаете, где установлена django, проверить ее нужно, если желаемый каталог находится в вашем пути с помощью directory in sys.path
.
Относительно того, где определен ваш PYTHONPATH
. Обратите внимание, что это переменная среды, поэтому вы можете проверить ее значение (если определено) с помощью: echo $PYTHONPATH
Ответ 2
В linux вы можете установить переменную среды PYTHONPATH в вашем .profile или .bashrc. Вы можете отредактировать его непосредственно с терминала, перейдя в свой домашний каталог (cd ~), а затем отредактируйте файл (nano.bashrc) или открыв файл с помощью gtkedit или vim или что-то еще, и добавьте:
PYTHONPATH=/usr/local/lib/python2.7/site-packages:/another/path/etc
Если вы хотите протестировать это, прежде чем редактировать свой профиль, вы можете экспортировать его с терминала как:
export PYTHONPATH=/local/lib/python2.7/site-packages
Я предполагаю, что вы запускаете это прямо из командной строки. Если вы используете его как модуль wsgi в apache, вы можете добавить это в свой syspath из своего файла wsgi следующим образом:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
Ответ 3
Попробуйте распечатать sys.path
, чтобы узнать, что на вашем пути. Django должен быть в одном из перечисленных в списке. Пример в Windows:
>>> import sys
>>> for p in sys.path: print p
C:\Python27\Lib\idlelib
C:\Windows\system32\python27.zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
>>>
Ответ 4
попробовать
pip freeze
эта команда показывает, какие пакеты установлены в вашей системе
затем запустите с правами root
pip install django
затем создайте новый проект с командой
django-admin.py startproject mysite
затем запустите свой проект
cd path/to/mysite
./manage.py runserver
в файле wsgi.py добавьте эти строки
import os
import sys
DJANGO_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
sys.path.append(DJANGO_PATH)
Ответ 5
У меня была такая же ошибка, и это исправить мою проблему
python -m pip install django
:) Сделано!