Quel fichier dois-je modifier et comment? J'ai créé un environnement virtuel.
virtualenvwrappercommande. Cela ne fait pas partie de virtualenv.
Quel fichier dois-je modifier et comment? J'ai créé un environnement virtuel.
virtualenvwrappercommande. Cela ne fait pas partie de virtualenv.
Réponses:
MODIFIER # 2
La bonne réponse est celle de @ arogachev .
Si vous souhaitez modifier l' PYTHONPATHutilisé dans un virtualenv, vous pouvez ajouter la ligne suivante au bin/activatefichier de votre virtualenv :
export PYTHONPATH="/the/path/you/want"
De cette façon, le nouveau PYTHONPATHsera défini chaque fois que vous utiliserez ce virtualenv.
EDIT: (pour répondre au commentaire de @ RamRachum)
Pour le restaurer à sa valeur d'origine deactivate, vous pouvez ajouter
export OLD_PYTHONPATH="$PYTHONPATH"
avant la ligne mentionnée précédemment et ajoutez la ligne suivante à votre bin/postdeactivatescript.
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate?
PYTHONPATHchemin par défaut (le global) au lieu du chemin local virtualenv?
Le commentaire de @ s29 devrait être une réponse:
Une façon d'ajouter un répertoire à l'environnement virtuel est d'installer virtualenvwrapper (ce qui est utile pour de nombreuses choses), puis de faire
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
Si vous souhaitez supprimer ces chemins, modifiez le fichier myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
La documentation sur virtualenvwrapper peut être trouvée à http://virtualenvwrapper.readthedocs.org/en/latest/
Une documentation spécifique sur cette fonctionnalité est disponible à l' adresse http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
add2virtualenv -d
Vous pouvez créer un .pthfichier contenant le répertoire à rechercher et le placer dans le site-packagesrépertoire. Par exemple:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
L'effet est le même que l' ajout /some/library/pathà sys.path, et restent locaux à la virtualenvconfiguration.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages. Documents sur les fichiers .pth: docs.python.org/3.6/library/site.html
pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popdEnsuite, j'ai désactivé mon virtualenv, et réactivé. Je pouvais maintenant exécuter le code de projet qui nécessitait de savoir où se trouvait mon répertoire de projet.
/bin/activate) est une faute professionnelle et l'installation d'outils tiers est inférieure à l'utilisation d'un moyen intégré pour obtenir la même chose.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
J'ai modifié mon script d'activation pour générer le fichier .virtualenvrc, s'il existe dans le répertoire actuel, et pour enregistrer / restaurerPYTHONPATH lors de l'activation / de la désactivation.
Vous pouvez trouver le activatescript corrigé ici.. Il s'agit d'un remplacement instantané du script d'activation créé par virtualenv 1.11.6.
Ensuite, j'ai ajouté quelque chose comme ça à mon .virtualenvrc:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
C'est déjà répondu ici -> Mon environnement virtuel (python) provoque-t-il la rupture de mon PYTHONPATH?
Ajoutez "export PYTHONPATH = / usr / local / lib / python2.0" dans le fichier ~ / .bashrc et créez-le en tapant "source ~ / .bashrc" OR ". ~ / .Bashrc".
1) Allez dans le panneau de configuration 2) Double-cliquez sur Système 3) Allez dans l'onglet Avancé 4) Cliquez sur Variables d'environnement
Dans la fenêtre Variables système, vérifiez si vous disposez d'une variable nommée PYTHONPATH. Si vous en avez déjà un, vérifiez qu'il pointe vers les bons répertoires. Si vous n'en avez pas déjà un, cliquez sur le bouton Nouveau et créez-le.
Alternativement, vous pouvez également faire ci-dessous votre code: -
import sys
sys.path.append("/home/me/mypy")