【问题标题】:Pip install package not from pypi, whose name is the same as one in pypi ( + with dependencies from pypi )pip 安装包不是来自 pypi,其名称与 pypi 中的一个相同(+ 具有来自 pypi 的依赖项)
【发布时间】: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


    【解决方案1】:

    您需要指向 VSTS 的索引 URL 和指向 PyPI 的额外 URL:

    pip install --index-url=https://<my-package>:<PAT>@<url>/<proj>/_packaging/<my-package>/pypi/simple/ --extra-index-url=https://pypi.org/simple/ <my-package>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-28
      • 2021-09-30
      • 2019-06-01
      • 1970-01-01
      • 2018-07-04
      • 2020-03-08
      • 1970-01-01
      • 2019-11-30
      相关资源
      最近更新 更多