2013-09-25 3 views
0

J'utilise Redhat Linux et la version Python par défaut est 2.6, donc j'ai installé Python 2.7.4 sur/utilisateur/dossier local/bin et modifié le profil de coquille, quand je fais:Un autre chemin Python Problème

$which python 
/usr/local/bin/python 

ce qui est bon.

Comme je n'ai pas l'autorisation super utilisateur de la boîte, j'ai essayé d'installer les bibliothèques Python dans un dossier que j'ai l'autorisation d'écriture. C'est donc la structure de mes bibliothèques:

J'ai créé un dossier appelé

/share/python 

Et dans ce dossier, j'ai créé un autre dossier appelé bibliothèque où je mets tous les dossiers de source de la bibliothèque de python. Dire que je veux installer le paquet pyes (Python Elastic Search). J'ai d'abord téléchargé le dossier source, tar unzip et cd dans le dossier. Ensuite, je l'ai fait

python setup.py install --prefix=/share/python 

Ensuite, l'installation est terminée avec succès (I have done this before) et créé deux dossiers de la bibliothèque sous

/share/python/lib/python2.7/site-packages/ 

Et ils sont

urllib3-1.6-py2.7.egg 
pyes-0.20.1-py2.7.egg 

Et quand j'ouvre Python. Imprimer sys.path pour vérifier mon chemin de bibliothèque personnalisé a été inclus. Voici ce qu'il dit:

>>import sys 
>>print sys.path 
['','/usr/local/lib/python2.7/site-packages/...'..., '/share/python/lib/python2.7/site-packages'] 

Je suis assez sûr python sait où trouver les Pyes et urllib3 (installé en tant que dépendance). cependant, je ne peux toujours pas charger la bibliothèque et l'erreur ressemble à ceci:

>>> from pyes import * 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named pyes 
>>> import urllib3 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named urllib3 

Toute idée pourquoi cela se produit?

Mise à jour: Vous devez ajouter ces nouveaux dossiers d'œufs dans votre chemin et il fonctionnera: Pas encore tout à fait sûr pourquoi python setup.py install créé le dossier deux œufs, mais ne pas les ajouter au chemin.

+0

vous ne pouvez pas accéder au fichier python-oeuf, il interdit – drabo2005

+0

@ drabo2005 problème d'autorisation? le propriétaire de ces deux dossiers est moi et le niveau d'autorisation est drwxrwsr-x, ce qui me semble assez bon. Droite? –

Répondre

1

I quote:

http://peak.telecommunity.com/DevCenter/PythonEggs

fichiers .egg sont tout simplement rebaptisés fichiers zip.

Ouvrez l'oeuf avec votre programme zip, ou renommez simplement l'extension en .zip, et extrayez.

"A small introduction to Python Eggs"

+0

Il peut exister sous forme de fichier compressé sous Windows mais sous Linux, je ne vois pas comment il est zippé. Cependant, votre réponse est très inspirante et j'ai essayé d'ajouter ces deux dossiers d'oeufs dans le chemin de Python et cela a fonctionné maintenant .. Je me demande pourquoi l'installation de python setup.py n'a pas ajouté cela pour moi ... –

+0

J'ai mis à jour ma réponse avec un lien qui pourrait vous aider à comprendre le fonctionnement des oeufs – Paco

+0

Savez-vous pourquoi la commande python install prefix n'ajoute pas les nouveaux dossiers oeuf créés au chemin python? Y at-il quelque chose que je peux faire pour inclure automatiquement les dossiers d'oeufs dans ce cas. –

Questions connexes