是否可以在“ Pipfile”的“包”部分中使用“ .env”中的环境变量

问题描述 投票:0回答:1

我必须使用有限的凭据才能从专用存储库安装我的软件包,但我不希望将其与我的Pipile一起提交。

这是一个简单的合法用例:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pytest = "*"

[packages]
my-package = {git = "https://${USER}:${TOKEN}@bitbucket.org/my-team/my-package.git",ref = "v0.1"}

[requires]
python_version = "3.7"

[scripts]
show-credentials = "echo ${USER}:${TOKEN}"

并且在.env文件中包含此内容:

USER=foo
TOKEN=bar

执行pipenv run show-credentials会将当前凭据显示为foo:bar,但在安装my-package时将不遵守这些环境变量。

是否有任何可能的解决方法,或者它可能是pipenv的良好功能要求?

environment-variables pipenv
1个回答
0
投票

从文档中不清楚,但是从测试中看来。仅在pipenv runpipenv shell中读取.env。它不在pipenv syncpipenv install期间运行。

我之所以这样说,是因为除非将环境变量设置在虚拟环境之外,即USER=my_user TOKEN=my_token pipenv install,否则它似乎不会注入到[[source]]部分中>

© www.soinside.com 2019 - 2024. All rights reserved.