【问题标题】:how to specify location of virtualenv?如何指定 virtualenv 的位置?
【发布时间】:2013-08-16 22:07:00
【问题描述】:

当我使用 virtualenvwrapper 创建新的 virtualenv 时:

mkvirtualenv ENV

然后在下面创建包含site-packages 和东西的目录:

~/.virtualenv/ENV

现在,如果我的主目录在多台机器之间共享(通过 nfs),它将被覆盖。有什么方法可以指定新的 ENV 应该存在吗?

【问题讨论】:

  • 我很困惑。这是什么版本的 virtualenv? virtualenv ENV 的默认设置是在您的当前目录中创建ENV 目录(如果它没有作为绝对路径给出)。现在,如果你有 virtualenvwrapper,它的 mkvirtualenv 将在 ~/.virtualenv 下创建 virtualenvs,但这是不同的。
  • 是的,我正在使用 mkvirtualenv 命令
  • 那么您可能应该澄清一下,因为mkvirtualenv 是普通virtualenv 命令的包装器,并且做一些不同的事情。
  • 请编辑问题。您在标签中提到了 virtualenvwrapper,但没有问题
  • @rafee - 完成,抱歉耽搁和混淆。

标签: python deployment virtualenv web-deployment virtualenvwrapper


【解决方案1】:

您可以更改 WORKON_HOME 环境变量,该变量控制创建新虚拟环境的位置。例如

export WORKON_HOME=~/tmp/vetest
mkvirtualenv cltest
ls ~/tmp/vetest/cltest
>>> bin  include  lib  local

在此处查看docs

【讨论】:

    【解决方案2】:

    使用 virtualenvwrapper,您可以使用 WORKON_HOME 环境变量指定存储环境的位置。如果你只想在不同的位置创建一个特定的 virtualenv,你可以运行:

    WORKON_HOME=/path/to/envs mkvirtualenv ENVNAME
    

    但您应该知道,除非您还先设置了备用 WORKON_HOME,否则其他任何 virtualenvwrapper 命令都不会与该 env 一起使用。我也不喜欢将任何 virtualenvs 直接保存在我的主目录中,因为其中一些可能非常大,所以我只是在我的登录脚本中将 export WORKON_HOME 设置为备用目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 2021-06-20
      • 2023-02-21
      • 2010-11-07
      • 2017-04-18
      相关资源
      最近更新 更多