web-dev-qa-db-fra.com

Python / IPython ImportError: aucun module nommé site

J'ai eu python 2.7.3 et ipython 1.2 fonctionne correctement sur mon système Linux (ubuntu 12.04) mais essayait d'installer une version mise à jour de matplotlab nécessaire pour les cours.

Après avoir exécuté cette ligne de code dans le terminal

user$ Sudo easy_install -U distribute
user$ export PYTHONHOME=/usr/lib/python2.7/

maintenant, chaque fois que j'essaie d'exécuter python ou ipython j'obtiens le message d'erreur

ImportError: no module named site

comment inverser/résoudre ce problème ?? Je suis tellement perdu. J'ai examiné d'autres problèmes similaires, mais personne d'autre n'a utilisé Linux et je ne sais pas quoi faire.

20
user2635779

ESSAYEZ de désactiver votre python ...

Sous Linux/Mac, vous pouvez utiliser ces commandes:

unset PYTHONPATH
unset PYTHONHOME
18
Marvin W

PYTHONHOME

Modifiez l'emplacement des bibliothèques standard Python. Par défaut, les bibliothèques sont recherchées dans prefix/lib/pythonversion et exec_prefix/lib/pythonversion, où prefix et exec_prefix sont des répertoires dépendant de l'installation, tous deux par défaut à/usr/local.

Lorsque PYTHONHOME est défini sur un seul répertoire, sa valeur remplace à la fois le préfixe et le exec_prefix. Pour spécifier des valeurs différentes pour celles-ci, définissez PYTHONHOME sur le préfixe: exec_prefix.

Essayez de nettoyer votre PYTHONHOME:

user$ export PYTHONHOME=

Quant à l'installation de matplotlib, je recommanderais ce qui suit:

Sudo apt-get install python-matplotlib

(détails ici )

16
E.Z.

vous pouvez unset PYTHONHOME pour utiliser la valeur par défaut du système, ou export PYTHONHOME=/usr pour spécifier le préfixe, auquel Python ajoutera '/lib/python2.7' (ou quelle que soit sa version) pour localiser ses bibliothèques.

si tu export PYTHONHOME=/usr/lib/python2.7, Python recherche les bibliothèques dans le dossier inexistant /usr/lib/python2.7/lib/python2.7.

et si tu export PYTHONHOME=, vous dites Python de rechercher lib dans le répertoire de travail actuel:

jcomeau@aspire:~$ 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
10
jcomeau_ictx