Pip install 为 Artifactory 上传的包返回“找不到满足要求的版本”

Posted

技术标签:

【中文标题】Pip install 为 Artifactory 上传的包返回“找不到满足要求的版本”【英文标题】:Pip install returns "Could not find a version that satisfies requirement" for Artifactory uploaded package 【发布时间】:2019-09-14 09:51:21 【问题描述】:

我将 PyPi 包上传到 Artifactory 本地存储库。 当我跑步时

pip install -v package==0.1

它返回此错误。

Looking in indexes: https://artifactory/api/pypi/pypi/simple
Collecting toolboxio==0.1
  1 location(s) to search for versions of toolboxio:
  * https://artifactory/api/pypi/pypi/simple/package/
  Getting page https://artifactory/api/pypi/pypi/simple/package/
  Looking up "https://artifactory/api/pypi/pypi/simple/package/" in the cache
  Request header has "max_age" as 0, cache bypassed
  Starting new HTTPS connection (1): artifactory:443
  https://artifactory:443 "GET /api/pypi/pypi/simple/package/ HTTP/1.1" 404 None
  Status code 404 not in (200, 203, 300, 301)
  Could not fetch URL https://artifactory/api/pypi/pypi/simple/package/: 404 Client Error: Not Found for url: https://artifactory/api/pypi/pypi/simple/package/ - skipping
  ERROR: Could not find a version that satisfies the requirement package==0.1 (from versions: none)
Cleaning up...

pypi 存储库在设置期间配置为使用简单默认布局,

[orgPath]/[module]/[module]-[baseRev].[ext]

工件以这种格式上传到 PyPi 本地存储库

pypi-local -
           company/package - 
                           package-0.1.tar.gz

当我访问时

"https://artifactory/api/pypi/pypi/simple/package/" 

在浏览器中,我可以找到工件。

当我使用时

curl -X GET "https://artifactory/api/pypi/pypi/simple/package/" 

返回

"errors" : [ 
    "status" : 404,
    "message" : "Not Found"
   ]

我在我的 pip.conf 中使用 Artifactory Set Me up

[global]
index-url = https://artifactory/api/pypi/pypi-local/simple

Artifactory 版本:Artifactory Pro 6.8.1

我无法使 pip 安装工作。有任何想法吗 ?

谢谢。

【问题讨论】:

【参考方案1】:

我设法以某种方式找到了解决方案,我想分享我所做的。

Artifactory 从 Set Me Up 函数生成 pip.conf

[global]
index-url = https://artifactory/api/pypi/pypi-local/simple

显然,要访问本地上传的文件,您需要将凭据传递给 index-url。

如何生成凭据以传递给 index-url。

1) 前往 Artifactory。

2) 单击编辑配置文件。生成 API 密钥。复制 API 密钥。

3) 编辑 pip.conf 文件。

[global]
index-url = https://username:<API-KEY>/api/pypi/pypi-local/simple

4) 重新运行 pip install。它现在应该可以工作了。

【讨论】:

有一个非常相似的问题,所以即使设置了匿名访问,这仍然会发生吗?

以上是关于Pip install 为 Artifactory 上传的包返回“找不到满足要求的版本”的主要内容,如果未能解决你的问题,请参考以下文章

Pip 在 Artifactory 中找不到 PyPI 包

pip 无法从本地 pypi (jfrog artifactory) 找到包

python pip install 怎么安装

Python pip easy_install源配置

pip install 加速(修改为国内源)快的起飞

pip3 install pyautogui 失败,错误代码为 1 Mac OS