Допустим, я получил 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-сервере, к которому у всех здесь есть доступ.
Теперь к моему актуальному вопросу.Мы не хотим заботиться о двух отдельных файлах требований, один из которых указывает на git, а другой указывает на репозиторий svn.
Есть ли способ предотвратить сбой 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