我必须使用有限的凭据才能从专用存储库安装我的软件包,但我不希望将其与我的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
的良好功能要求?
从文档中不清楚,但是从测试中看来。仅在pipenv run
和pipenv shell
中读取.env。它不在pipenv sync
或pipenv install
期间运行。
我之所以这样说,是因为除非将环境变量设置在虚拟环境之外,即USER=my_user TOKEN=my_token pipenv install
,否则它似乎不会注入到[[source]]部分中>