J'essaie d'ajouter un chemin d'accès à la variable d'environnement PYTHONPATH, qui ne serait visible que depuis un environnement virtualenv particulier.
J'ai essayé SET PYTHONPATH=...
sous une invite de commande virtualenv, mais cela définit la variable pour tout l'environnement.
Comment puis-je y arriver?
Vous pouvez généralement éviter de faire quoi que ce soit avec PYTHONPATH en en utilisant .pth
fichiers . Il suffit de placer un fichier avec une extension .pth (tout nom de base fonctionnant) dans le dossier site-packages de virtualenv, par exemple. lib\python2.7\site-packages
, avec le chemin absolu du répertoire contenant votre paquet comme contenu unique.
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 du virtualenv actuel:
add2virtualenv directory1 directory2 …
Vous pouvez également essayer de mettre un lien symbolique vers l’un de vos virtualenv.
par exemple . 1) activez votre virtualenv 2) exécutez python 3) importez sys et vérifiez sys.path 4) vous y trouverez le chemin de recherche python. Choisissez l’un de ceux-ci (par exemple, site-packages) 5) Allez-y et créez un lien symbolique vers votre paquet tel que: Ln -s-chemin du nom de votre paquetage avec lequel vous serez -important
De cette façon, vous devriez pouvoir l’importer même sans activer votre virtualenv. Essayez simplement: chemin-de-votre-dossier-virtualenv/bin/python Et importez votre paquet.
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 les encombrements
Si vous utilisez virtualenvwrapper,
$ cd to the parent folder
$ add2virtualenv folder_to_add
la console affichera
Warning: Converting "folder_to_add" to "/absoutle/path/to/folder_to_add"
Ça y est, et vous devriez être prêt à partir