У меня есть частная библиотека под названием some-library
(фактические имена были изменены) с установочным файлом, выглядящим примерно так:
setup(
name='some-library',
// Omitted some less important stuff here...
install_requires=[
'some-git-dependency',
'another-git-dependency',
],
dependency_links=[
'git+ssh://[email protected]/my-organization/some-git-dependency.git#egg=some-git-dependency',
'git+ssh://[email protected]/my-organization/another-git-dependency.git#egg=another-git-dependency',
],
)
Все эти зависимости Git могут быть частными, поэтому установка через HTTP не является вариантом. Я могу без проблем использовать python setup.py install
и python setup.py develop
в some-library
корневом каталоге.
Однако установка более Git не работает:
pip install -vvv -e 'git+ssh://[email protected]/my-organization/[email protected]#egg=some-library'
Команда не работает, когда она ищет some-git-dependency
, ошибочно полагает, что ей нужно получить зависимость от PyPI, а затем сбой после ее завершения не на PyPI. Мое первое предположение заключалось в попытке повторного запуска команды с помощью --process-dependency-links
, но потом это произошло:
Cannot look at git URL git+ssh://[email protected]/my-organization/some-git-dependency.git#egg=some-git-dependency
Could not find a version that satisfies the requirement some-git-dependency (from some-library) (from versions: )
Почему это порождает эту туманную ошибку? Каков правильный способ pip install
пакета с зависимостями Git, которые могут быть частными?