首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在virtualenv中设置环境变量

在virtualenv中设置环境变量
EN

Stack Overflow用户
提问于 2012-03-04 18:22:28
回答 7查看 185.4K关注 0票数 179

我有一个Heroku项目,它使用环境变量来获取其配置,但我首先使用virtualenv在本地测试我的应用程序。

有没有办法在virtualenv中设置远程机器上定义的环境变量?

EN

回答 7

Stack Overflow用户

发布于 2012-03-04 18:58:45

您可以尝试:

代码语言:javascript
复制
export ENVVAR=value

在virtualenv_root/bin/activate中。基本上,激活脚本是您开始使用virtualenv时执行的脚本,因此您可以将所有自定义内容放入其中。

票数 54
EN

Stack Overflow用户

发布于 2016-07-29 04:17:36

虽然这里有很多很好的答案,但我没有看到一个发布的解决方案,既包括在停用时取消设置环境变量,也不需要除virtualenv之外的其他库,所以我的解决方案只涉及编辑/bin/activate,使用变量MY_SERVER_NAMEMY_DATABASE_URL作为示例:

在激活脚本中应该有对deactivate的定义,并且您希望在其末尾取消设置变量:

代码语言:javascript
复制
deactivate () {
    ...

    # Unset My Server's variables
    unset MY_SERVER_NAME
    unset MY_DATABASE_URL
}

然后,在激活脚本的末尾,设置变量:

代码语言:javascript
复制
# Set My Server's variables
export MY_SERVER_NAME="<domain for My Server>"
export MY_DATABASE_URL="<url for database>"

这样,您就不需要安装任何其他东西来使其正常工作,并且在deactivate virtualenv时也不会留下变量。

票数 52
EN

Stack Overflow用户

发布于 2014-01-04 15:58:26

只使用virtualenv (不使用virtualenvwrapper),可以通过您采购的activate脚本轻松设置环境变量,以便激活virtualenv。

运行:

代码语言:javascript
复制
nano YOUR_ENV/bin/activate

将环境变量添加到文件的末尾,如下所示:

代码语言:javascript
复制
export KEY=VALUE

如果需要,您还可以设置一个类似的钩子来取消设置环境变量,就像Danilo Bargen在上面他的精彩答案中所建议的那样。

票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9554087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档