Python 为Pipenv的生产和开发提供不同的源代码或git URL
我们正在使用和来管理Python包需求。我们使用私有GitLab服务器来管理我们的代码,包括作为包的源代码,例如:Python 为Pipenv的生产和开发提供不同的源代码或git URL,python,pipenv,Python,Pipenv,我们正在使用和来管理Python包需求。我们使用私有GitLab服务器来管理我们的代码,包括作为包的源代码,例如: ourpkg = {ref = "master", git = "ssh://git@gitlab.company:/ourpkg.git"} 但是,代码被部署到一个单独的Prod环境中,该环境可以访问internet(因此可以拉下pypi包),但不能访问我们的gitlab服务器 我们提出的第一个解决方案是在Prod环境中镜像包回购协议。然而,虽然Pipenv允许在包索引源中使用
ourpkg = {ref = "master", git = "ssh://git@gitlab.company:/ourpkg.git"}
但是,代码被部署到一个单独的Prod环境中,该环境可以访问internet(因此可以拉下pypi包),但不能访问我们的gitlab服务器
我们提出的第一个解决方案是在Prod环境中镜像包回购协议。然而,虽然Pipenv允许在包索引源中使用环境变量,但我们不能以这种方式在每个环境中定义不同的基本URL
我们建议的第二个解决方案是将包托管在私有包索引上,并将其用作Prod环境的源。然后在[packages]
下指定prod链接,在[dev packages]
下指定gitlab git URL
[[source]]
url = "https://pypi.prodenvironment/
name = "prodindex"
[packages]
ourpkg = {version = "*", index = "prodindex"}
[dev-packages]
ourpkg = {ref = "master", git = "ssh://git@gitlab.company:/ourpkg.git"}
但是,在dev中安装时失败,因为[packages]
要求优先于[dev packages]
,并且Pipenv不允许
我们如何为dev中的包指定git repo源,为生产中的包指定不同的(索引或git repo)源?我打开了一个关于以下主题的bug报告/问题: