构建依赖于其他源代码控制存储库中的项目(例如,不在 pypi 上的私有项目)的 python 项目的惯用方式是什么?
假设我有一个项目foobar
托管在https://example.com/foobar.git
,我想将它包含在setup.py
另一个项目中。
是否有类似于 maven 的 scm 插件的东西,我可以在其中指定类似的东西Extension('foobar', scm='scm:git:https://example.com/foobar.git')
您可以使用以下选项指定其他位置来安装依赖dependency_links
项:
setup(
...
dependency_links=[
'git+https://example.com/spamneggs/foobar.git#egg=foobar-1.2.3'
]
install_requires=[
'foobar',
]
)
该dependency_links
条目用于查找包,对于 SCM 存储的包,#egg=package-version
片段标识符让工具知道将在该链接上找到哪个包和哪个版本。
请参阅 setuptools 项目文档的“不在 PyPI 中的依赖项”一章。