【问题标题】:pip cannot find package from local pypi (jfrog artifactory)pip 无法从本地 pypi (jfrog artifactory) 找到包
【发布时间】:2015-12-06 02:37:31
【问题描述】:

我们有一个本地 pypi,我们在其中放置了一些 python 包。但是,pip 无法安装该软件包。

pip search 会找到包:

$ pip search --index=http://artifactory.ours.com/api/pypi/pypi-local/simple hello        
hello     - UNKNOWN

但是 pip install 给出了以下内容:

pip install --pre -r requirements.txt --trusted-host=artifactory.ours.com

收集你好(来自 -r requirements.txt(第 4 行)) 找到满足要求的版本你好(来自 -r requirements.txt(第 4 行))(来自版本:)没有匹配的分布 找到你好(来自 -r requirements.txt(第 4 行))

这里是 requirements.txt:

# requirements.txt
--allow-all-external
--extra-index-url http://artifactory.ours.com/artifactory/api/pypi/pypi-local/simple

hello

【问题讨论】:

    标签: python pip artifactory pypi


    【解决方案1】:

    我认为问题在于您的软件包没有版本号。您的 setup.py 未指定版本。

    Python 文档中的示例(示例用于 distutils):

    https://docs.python.org/2/distutils/setupscript.html

    【讨论】:

    • 谢谢,但软件包在setup.py 中有0.0.1 版本。
    【解决方案2】:

    因此,如果我使用像 1.x 这样的旧版本 pip,问题似乎就解决了。不确定这是 jfrog 错误还是与 pip 本身有关。

    【讨论】:

      【解决方案3】:

      此问题的另一个可能原因是在将包上传到 artifactory 时在包名称中使用连字符 (-)。 pip 可以成功搜索并找到您的软件包,但无法安装它。将连字符替换为下划线。

      【讨论】:

        猜你喜欢
        • 2020-04-21
        • 2022-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-27
        • 1970-01-01
        相关资源
        最近更新 更多