我必须使用有限的凭据才能从专用存储库安装我的软件包,但我不希望将它们与我的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
的要求很好?
答案 0 :(得分:1)
从文档中不清楚,但是从测试中可以看出。仅在pipenv run
和pipenv shell
期间读取.env。它不在pipenv sync
或pipenv install
期间运行。
之所以这样说,是因为除非将环境变量设置在虚拟环境之外,即USER=my_user TOKEN=my_token pipenv install