首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pipenv:多环境

Pipenv:多环境
EN

Stack Overflow用户
提问于 2019-02-27 08:06:58
回答 2查看 4.1K关注 0票数 11

现在我正在使用virtualenv,只是切换到Pipenv。现在在virtualenv中,我通过将DJANGO_SETTINGS_MODULE设置为myproject.settings.developmentmyproject.settings.productionmyproject.settings.testing,根据我是在developmentproduction还是testing中加载了不同的环境变量和设置。

我知道我可以设置一个.env文件,但是如何才能拥有该.env文件的多个版本呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-27 08:15:48

您应该根据环境创建具有不同前缀的不同.env文件,例如production.envtesting.env。对于pipenv,您可以使用PIPENV_DONT_LOAD_ENV=1环境变量来阻止pipenv shell自动导出.env文件,并将其与export $(cat .env | xargs)结合使用。

export $(cat production.env | xargs) && PIPENV_DONT_LOAD_ENV=1 pipenv shell将为生产配置环境变量,然后在虚拟环境中启动一个shell。

票数 3
EN

Stack Overflow用户

发布于 2019-02-27 09:14:53

我不是Python专家,但我能想到的一种解决方案是创建运行shell脚本的Pipenv scripts来更改PIPENV_DOTENV_LOCATION并运行启动命令。

Pipfile脚本示例:

代码语言:javascript
复制
[scripts]
development = "./scripts/development.sh"

development.sh示例:

代码语言:javascript
复制
#!/bin/sh
PIPENV_DOTENV_LOCATION=/path/to/.development_env pipenv run python test.py

然后运行pipenv run development

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

https://stackoverflow.com/questions/54896106

复制
相关文章

相似问题

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