J'ai pensé
import sys
sys.path.append("/home/me/mydir")
ajoute un répertoire à mon pythonpath
si j'imprime sys.path, mon répertoire est dedans.
Ensuite, j'ouvre une nouvelle commande et elle n'y est plus.
Mais de toute façon Python ne peux pas importer les modules que j'ai enregistrés dans ce répertoire.
Qu'est-ce que je fais mal?
J'ai lu .profile ou .bash_profile fera l'affaire.
Dois-je ajouter:
PATH="/Me//Documents/mydir:$PYTHONPATH"
export PATH
Pour que ça marche?
Modifications apportées à sys.path
_ s’applique uniquement pour la vie de cet interpréteur Python. Si vous souhaitez le faire de manière permanente, vous devez modifier la variable d’environnement PYTHONPATH
:
PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"
export PYTHONPATH
Notez que PATH
est le chemin système des exécutables, qui est complètement séparé.
** Vous pouvez écrire ce qui précède en ~/.bash_profile
et la source en utilisant source ~/.bash_profile
Je ne sais pas pourquoi la solution de Matthew n'a pas fonctionné pour moi (j'utilise peut-être OSX10.8 ou peut-être quelque chose à voir avec macports) Mais j’ai ajouté ce qui suit à la fin du fichier à ~/.profile
export PYTHONPATH=/path/to/dir:$PYTHONPATH
mon répertoire est maintenant sur le pythonpath -
my-macbook:~ aidan$ python
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/path/to/dir', ...
et je peux importer des modules à partir de ce répertoire.
La réponse de Mathew fonctionne pour le terminal python Shell, mais cela n'a pas fonctionné pour IDLE Shell dans mon cas car de nombreuses versions de python existaient avant que je les remplace toutes par Python2.7.7. Comment j'ai résolu le problème avec IDLE.
cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/
Sudo nano idlemain.py
, entrez le mot de passe si nécessaire.os.chdir(os.path.expanduser('~/Documents'))
cette ligne, j’ai ajouté sys.path.append("/Users/admin/Downloads....")
REMARQUE: remplace le contenu des guillemets par le répertoire dans lequel python module doit être ajouté La définition de la variable d'environnement $ PYTHONPATH ne semble pas affecter les terminaux iPython de l'EDI du Spyder sur un Mac. Cependant, le menu de l'application Spyder contient un "gestionnaire PYTHONPATH". Ajouter mon chemin ici a résolu mon problème. Le "gestionnaire PYTHONPATH" est également persistant après le redémarrage des applications.
Ceci est spécifique à un Mac, car la définition de la variable d’environnement PYTHONPATH sur un ordinateur Windows donne le comportement attendu (des modules sont trouvés) sans utiliser le gestionnaire PYTHONPATH de Spyder.