假设我有一个requirements.txt
,其中包含以下依赖项:
git+ssh://git@mygithost.de/my_project_group/package_a.git
alabaster==0.7.11
Babel==2.6.0
...
xlrd==1.1.0
pytest
pytest-cov
通过公司代理,在我的机器上安装此依赖项效果很好,因为我得到了一个VPN隧道,可以连接到mygithost.de
。
我工作场所中的其他人没有使用该git存储库的权限,因此,在第一个软件包处安装失败。 因此,我们计划托管依赖于单独的SVN服务器的软件包,这里的每个人都可以访问该软件包。
现在是我的实际问题。我们不想处理2个单独的需求文件,其中1个指向git而1个指向svn repo。
有什么方法可以防止pip在找不到某个软件包的情况下失败,而是安装其他软件包吗?
有点像(用伪代码):
try install this:
git+ssh://git@mygithost.de/my_project_group/package_a.git
if it fails install this instead:
svn+http://.....
alabaster==0.7.11
Babel==2.6.0
...
xlrd==1.1.0
pytest
pytest-cov