我正在尝试使用 setuptools 从 VCS 和子目录内安装依赖项。
我的setup.py看起来像这样:
#!/usr/bin/env python3
from setuptools import setup
required = [
"package"
]
dependency_links = [
"git+ssh://git@host/repo.git@tag#subdirectory=subdir#egg=package-version"
]
setup(install_requires=required, dependency_links=dependency_links)
Run Code Online (Sandbox Code Playgroud)
在 virtualenv 中运行时python3 setup.py install,出现以下错误:
Download error on git+ssh://git@host/repo.git@tag#subdirectory=subdir#egg=package-version: unknown url type: git+ssh -- Some packages may not be found!
为了调试,我使用了以下公共 Github 存储库:
required = [
"pycocotools"
]
dependency_links = [
"git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI#egg=pycocotools-2.0"
]
Run Code Online (Sandbox Code Playgroud)
此处建议此示例作为类似问题的解决方案。我遇到了同样的unknown url type错误(该包最终是通过 PyPI 检索的,而不是通过 VCS URL 检索的!)。
git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI#egg=pycocotools-2.0
Run Code Online (Sandbox Code Playgroud)
python3 setup.py install:unknown url …