web-dev-qa-db-fra.com

Désactiver un environnement pipenv

Comment désactiver mon environnement pipenv?

Avec d'autres outils, j'ai pu faire quelque chose comme source deactivate, mais cela n'a aucun effet ici.

Créez un environnement:

pipenv --three

Activez l'environnement:

source $(pipenv --venv)/bin/activate

Mais comment désactiver?

10
tim_xyz

Pour élaborer un peu plus sur la réponse de Williams, le workflow attend consiste à entrer dans virtualenv en utilisant pipenv Shell. Lorsque vous activez virtualenv de cette façon, la sortie de la console indique maintenant d'utiliser exit:

Environnement de frai Shell (/ bin/zsh). Utilisez 'exit' pour partir.

Essayer de quitter virtualenv avec deactivate laissera pipenv dans un état confus car vous serez toujours dans cette instance Shell générée mais pas dans un virtualenv activé.

18
ButtaKnife

L'utilisation de la commande Shell exit fonctionne également.

Cela a fonctionné pour moi lors de l'utilisation de deactivate m'a toujours laissé l'erreur:

Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.

Après avoir utilisé exit, j'ai réussi à changer d'instance pipenv. Cela pourrait bien être un bug et je devrais probablement le signaler.

9
Williams

D'abord "désactiver" puis "quitter" vous sortirez de l'env virtuel. À partir de maintenant, cela a fonctionné pour moi.

0
Chiranjibi Poudyal

Veuillez vérifier ce sujet pour une réponse de contributeur perspective:

https://github.com/pypa/pipenv/issues/84#issuecomment-27505694

Divulgacher :

pipenv démarre une nouvelle session Shell avec le cheminement virtualenv au lieu de changer le cheminement dans la session Shell actuelle. C'est pourquoi désactiver ne fonctionne pas. vous devez quitter la session Shell. la commande exit ou CTRL-d fera l'affaire.

0