【问题标题】:Why do you need to set the WORKON_HOME environment variable?为什么需要设置WORKON_HOME环境变量?
【发布时间】:2012-12-09 13:01:11
【问题描述】:

我已经有一段时间没有使用我的 python/虚拟环境了,但我也安装了虚拟环境包装器。

我的问题是,在文档页面中它说要这样做:

export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv env1

我只是在提示下这样做了:

source /usr/local/bin/virutalenvwrapper.sh

现在我可以通过以下方式列出和选择环境:

>workon

>workon envtest1

我的问题是,既然这对我有用,我很困惑为什么我应该创建一个环境变量 WORKON_HOME 并将其指向 ~/Envs 文件夹?那有什么作用,我的工作如何在没有它的情况下正常工作?我也没有那个 /Envs 文件夹(我知道脚本会创建它)。

参考:http://virtualenvwrapper.readthedocs.org/en/latest/

【问题讨论】:

    标签: python virtualenv


    【解决方案1】:

    如果未设置 WORKON_HOME,您的默认 virtualenv 文件夹将设置为 ~/.virtualenvs
    (见virtualenvwrapper.sh l.118

    您还将使用WORKON_HOME 指定pip 使用哪个文件夹(export PIP_VIRTUALENV_BASE=$WORKON_HOME

    来源:virtualenvwrapper.readthedocs.org : Tying to pip’s virtualenv support

    【讨论】:

    • 我的主项目文件夹是~/Projects。我偶然发现了这个答案,因为我遇到了同样的问题并且当我确实设置了$WORKON_HOME 变量时,我无法强制它识别。最后我只是做了一个ln -s ~/Projects ~/.virtualenvs。问题解决了。感谢您的信息。
    • 所以 $WORKON_HOME 确实是可选的,如果您愿意将这些项目环境放入默认 ~/.virtualenvs 然后下一个问题是,是否有任何动机使用不同于默认的文件夹?
    • @RayLuo 是的,如果您对~/.virtualenvs 满意,这是可选的。我认为除了个人喜好之外没有任何动机。我知道一些IDE(我认为是PyCharm?也许是Sublime?)能够研究virtualenvs来改善自动补全,但你应该能够为那种插件选择virtualenv的路径,所以没关系。
    【解决方案2】:

    我很困惑为什么我应该创建一个环境变量 WORKON_HOME 并将其指向 ~/Envs 文件夹?

    这是可选的。你很困惑(就像我一样),因为文档很混乱。

    那有什么作用,我的没有它怎么能正常工作?

    它告诉virtualenvwrapper 在哪个文件夹中搜索 Python 环境。命令workon 搜索路径WORKON_HOME(如果已定义)或~/.virtualenvs(如果未定义),这就是它默认工作的原因。

    定义不同WORKON_HOME 目录的用例是,如果您希望virtualenvwrapper 可以使用不同的环境。例如,如果您将虚拟环境备份保存到不同的文件夹或有多个用户想要维护自己的环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      相关资源
      最近更新 更多