【发布时间】:2020-06-22 10:06:33
【问题描述】:
我有一个 python 包,托管在 azure (vsts) 上,而不是 pypi 上,它的依赖项是存在于 pypi 中的 python 包。
我发现我的包与 pypi 上的包同名。
有没有办法用pip安装我的包,指定之前必须在vsts上搜索我的包,而依赖可以从pypi中抓取?
如果我使用--index-url 选项:
pip install <my-package> --index-url https://<my-package>:<PAT>@<url>/<proj>/_packaging/<my-package>/pypi/simple/
pip 能够找到我的包,尝试安装它,但它无法安装任何依赖项(因为它在同一个 url 中搜索所有这些包,这是错误的,因为我没有托管,比如说,我自己的版本numpy 或 vsts 上的其他软件包)。
(这是问题所在:pip install producing "Could not find a version that satisfies the requirement")
如果我改为使用--extra-index-url 选项:
pip install <my-package> --extra-index-url https://<my-package>:<PAT>@<url>/<proj>/_packaging/<my-package>/pypi/simple/
所有的依赖都找到了,但是问题是这个安装的不是我的包,而是pypi中的同名包!
即使--extra-index-url 存在,似乎 pypi 被优先考虑,因此可以在我指定的 url 找到的包被遮蔽,无法正确找到和安装。
有没有办法告诉 pip 它应该优先考虑我的--extra-index-url?或者给 pip 一个--index-url,它应该只对一个包有效,但对其依赖项无效?
【问题讨论】:
标签: pip setuptools pypi