119 votes

Comment ajouter un chemin à PYTHONPATH dans virtualenv

J'essaie d'ajouter un chemin à la variable d'environnement PYTHONPATH, qui ne serait visible qu'à partir d'un environnement virtualenv particulier.

J'ai essayé SET PYTHONPATH=... sous une invite de commande virtualenv, mais cela définit la variable pour l'ensemble de l'environnement.

Comment puis-je y parvenir ?

178voto

Dougal Points 15023

Vous pouvez généralement éviter d'avoir à faire quoi que ce soit avec PYTHONPATH en utilisant des fichiers .pth . Il suffit de mettre un fichier avec une extension .pth (n'importe quel nom de base fonctionne) dans le dossier site-packages de votre virtualenv, par exemple lib\python2.7\site-packages, avec le chemin absolu vers le répertoire contenant votre paquet comme son seul contenu.

93voto

crimeminister Points 411

Si vous utilisez virtualenv, vous devriez probablement aussi utiliser virtualenvwrapper, auquel cas vous pouvez utiliser la commande add2virtualenv pour ajouter des chemins au chemin Python pour le virtualenv actuel :

add2virtualenv directory1 directory2 …

4voto

Aneesh Panoli Points 116

Si vous utilisez virtualenvwrapper,

$ cd to the parent folder
$ add2virtualenv  folder_to_add

la console s'affiche

Warning: Converting "folder_to_add" to "/absoutle/path/to/folder_to_add"

C'est ça, et tu devrais être prête à y aller.

1voto

Rubber Duck Points 380
import sys
import os

print(str(sys.path))

dir_path = os.path.dirname(os.path.realpath(__file__))
print("current working dir: %s" % dir_path)

sys.path.insert(0, dir_path)

Je vous suggère fortement d'utiliser virtualenv et virtualenvwrapper pour éviter d'encombrer le chemin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X