Quel fichier dois-je modifier et comment? J'ai créé un environnement virtuel.
virtualenvwrapper
commande. Cela ne fait pas partie de virtualenv
.
Quel fichier dois-je modifier et comment? J'ai créé un environnement virtuel.
virtualenvwrapper
commande. Cela ne fait pas partie de virtualenv
.
Réponses:
MODIFIER # 2
La bonne réponse est celle de @ arogachev .
Si vous souhaitez modifier l' PYTHONPATH
utilisé dans un virtualenv, vous pouvez ajouter la ligne suivante au bin/activate
fichier de votre virtualenv :
export PYTHONPATH="/the/path/you/want"
De cette façon, le nouveau PYTHONPATH
sera 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/postdeactivate
script.
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
chemin 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 .pth
fichier contenant le répertoire à rechercher et le placer dans le site-packages
ré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 virtualenv
configuration.
$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 popd
Ensuite, 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 activate
script 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")