Подтвердить что ты не робот

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, и я не уверен, что делать.

4b9b3361

Ответ 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