Ошибка импорта: нет модуля с именем 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

:) Сделано!