Python/IPython ImportError: нет модуля с именем site
У меня были python 2.7.3
и ipython 1.2
корректно запущены и запущены в моей системе Linux
(ubuntu 12.04
), но пытались установить обновленную версию matplotlab, необходимую для курсовой работы.
После запуска этой строки кода в терминале
user$ sudo easy_install -U distribute
user$ export PYTHONHOME=/usr/lib/python2.7/
теперь каждый раз, когда я пытаюсь запустить python
или ipython
, я получаю сообщение об ошибке
ImportError: no module named site
Как мне отменить/исправить эту проблему? Я так потерялся. Я посмотрел на другие подобные проблемы, но никто больше не использовал Linux
, и я не уверен, что делать.
Ответы
Ответ 1
PYTHONHOME
Измените расположение стандартных библиотек Python. По умолчанию библиотеки выполняются в префиксе /lib/pythonversion и exec_prefix/lib/pythonversion, где префикс и exec_prefix зависящие от установки каталоги, оба по умолчанию для /usr/local.
Когда PYTHONHOME установлен в один каталог, его значение заменяет оба префикс и exec_prefix. Чтобы указать для них разные значения, установите PYTHONHOME для префикса: exec_prefix.
Попробуйте очистить PYTHONHOME
:
user$ export PYTHONHOME=
Что касается установки matplotlib, я бы рекомендовал следующее:
sudo apt-get install python-matplotlib
(подробнее здесь)
Ответ 2
TRY, чтобы отключить ваш путь к python...
В Linux/Mac вы можете использовать следующие команды:
unset PYTHONPATH
unset PYTHONHOME
Ответ 3
вы можете unset PYTHONHOME
использовать системный стандарт или export PYTHONHOME=/usr
, чтобы указать префикс, к которому Python добавит '/lib/python2.7' (или любую другую версию), чтобы найти его библиотеки.
если вы export PYTHONHOME=/usr/lib/python2.7
, Python ищет библиотеки в несуществующей папке /usr/lib/python2.7/lib/python2.7
.
и если вы export PYTHONHOME=
, вы сообщаете Python искать lib
в текущем рабочем каталоге:
[email protected]:~$ PYTHONHOME= strace -estat64 /usr/bin/python
stat64("lib/python2.7/", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("lib/python2.7/", 0xff873efc) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7/plat-i386-linux-gnu", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("lib/python2.7/plat-i386-linux-gnu", 0xff873efc) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7/lib-tk", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("lib/python2.7/lib-tk", 0xff873efc) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7/lib-old", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("lib/python2.7/lib-old", 0xff873efc) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7/lib-dynload", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib/python2.7", 0xff870ee0) = -1 ENOENT (No such file or directory)
stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("lib/python2.7/lib-dynload", 0xff873efc) = -1 ENOENT (No such file or directory)
ImportError: No module named site