Quel fichier dois-je modifier et comment? J'ai créé un environnement virtuel.
python
linux
unix
virtualenv
TIMEX
la source
la source
virtualenvwrapper
commande. Cela ne fait pas partie devirtualenv
.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 aubin/activate
fichier de votre virtualenv :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 ajouteravant la ligne mentionnée précédemment et ajoutez la ligne suivante à votre
bin/postdeactivate
script.la source
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
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
la source
add2virtualenv -d
Vous pouvez créer un
.pth
fichier contenant le répertoire à rechercher et le placer dans lesite-packages
répertoire. Par exemple:L'effet est le même que l' ajout
/some/library/path
àsys.path
, et restent locaux à lavirtualenv
configuration.la source
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Documents sur les fichiers .pth: docs.python.org/3.6/library/site.htmlpushd "$(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.la source
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
:la source
C'est déjà répondu ici -> Mon environnement virtuel (python) provoque-t-il la rupture de mon PYTHONPATH?
UNIX / LINUX
Ajoutez "export PYTHONPATH = / usr / local / lib / python2.0" dans le fichier ~ / .bashrc et créez-le en tapant "source ~ / .bashrc" OR ". ~ / .Bashrc".
WINDOWS XP
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.
CODE PYTHON
Alternativement, vous pouvez également faire ci-dessous votre code: -
la source