Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为Pipenv的生产和开发提供不同的源代码或git URL_Python_Pipenv - Fatal编程技术网

Python 为Pipenv的生产和开发提供不同的源代码或git URL

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允许在包索引源中使用

我们正在使用和来管理Python包需求。我们使用私有GitLab服务器来管理我们的代码,包括作为包的源代码,例如:

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报告/问题: