如何离开/退出/停用 Python virtualenv

新手上路,请多包涵

我正在使用 virtualenv 和 virtualenvwrapper。我可以使用 workon 命令在 virtualenv 之间切换。

 me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$

如何退出所有虚拟环境并再次在我的系统环境中工作?现在,我回到 me@mymachine:~$ 的唯一方法是退出 shell 并开始一个新的。这有点烦人。是否有一个命令可以处理“无”,如果有,它是什么?如果这样的命令不存在,我将如何创建它?

原文由 Apreche 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 821
2 个回答

通常,激活 virtualenv 会给你一个名为的 shell 函数:

 $ deactivate

这使事情恢复正常。

我刚刚再次专门查看了 virtualenvwrapper 的代码,并且,是的,它也支持 deactivate 作为逃避所有 virtualenvs 的方式。

如果您尝试离开 Anaconda 环境,该命令取决于您的版本 conda 。最近的版本(如 4.6)直接在你的 shell 中安装 conda 函数,在这种情况下你运行:

 conda deactivate

较旧的 conda 版本改为使用独立脚本实现停用:

 source deactivate

原文由 Brandon Rhodes 发布,翻译遵循 CC BY-SA 4.0 许可协议

采用:

 $ deactivate

如果这不起作用,请尝试

$ source deactivate

任何知道 Bash source 工作原理的人都会认为这很奇怪,但是 virtualenv 周围的一些包装器/工作流将它实现为 source activate 的补充/对应物。你的旅费可能会改变。

原文由 DarkRider 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题