我有以下两个存储库: 一个经典的setup.py,第二个看起来像:
/repo
/folder1
/folder2
/utils
/setup.py
在第一次回购的setup.py中,我想从第二个回购安装utils。 我尝试了以下代码:
install_requires=["repo"],
dependency_links=['git+ssh://git@bitbucket.aaaaaaa.aa:0000/project/repo@master#egg=repo&subdirectory=folder2']
但是在python setup.py开发之后我有以下错误:
unknown url type: git+ssh -- Some packages may not be found!
答案 0 :(得分:4)
我有same issue。
janfreyberg的答案由于pip
中的更改而不再起作用:
自19.0起,dependency_links
已过时。
从pip
18.1开始,我们可以使用PEP 508引入的语法将这些依赖项放在install_requires
中。
这是您的解决方案:
install_requires=[
'repo @ git+ssh://git@bitbucket.aaaaaaa.aa:0000/project/repo@master#subdirectory=folder2'
]
setup(install_requires=install_requires)
请注意,这需要使用pip install .
,而不能与python setup.py install
一起使用。
如果folder2
本身具有依赖性,则将以递归方式检索所有内容。
答案 1 :(得分:2)
我发现这对我有用:
depndendcy_links=["git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI#egg=pycocotools-2.0"]
因此,将子目录和版本指定为#subdirectory=<sub_dir>#<packagename>-<version>