pip install 无法从 artifactory 解析版本

pip install cannot resolve the version from artifactory

在 ubuntu 机器上使用 pip install -r requirement.txt(它有 avro-python3)安装时。我收到以下错误,它曾经是一段时间前的警告,但现在导致错误。

Collecting avro-python3==1.9.2.1
  Downloading https://artifactory/avro-python3-1.9.2.1.tar.gz (37 kB)
WARNING: Requested avro-python3==1.9.2.1 from https://artifactory/avro-python3-1.9.2.1.tar.gz#sha256=ca1e77a3da5ac98e8833588f71fb2e170b38e34787ee0e04920de0e9470b7d32 (from -r requirements.txt (line 4)), but installing version file-.avro-VERSION.txt
ERROR: Requested avro-python3==1.9.2.1 from  https://artifactory/avro-python3-1.9.2.1.tar.gz#sha256=ca1e77a3da5ac98e8833588f71fb2e170b38e34787ee0e04920de0e9470b7d32 (from -r requirements.txt (line 4)) has different version in metadata: 'file-.avro-VERSION.txt'

我的requirements.txt长得像

avro-python3==1.9.2.1

有没有办法避免这个错误?

需要解决什么问题才能解决?

有什么方法可以在 requirement.txt 中指定吗?不为此包使用人工制品?

我从 PyPI 下载了 avro-python3-1.9.2.1.tar.gz。它的 setup.cfg 文件看起来像:

[metadata]
name = avro-python3
version = file: avro/VERSION.txt
description = Avro is a serialization and RPC framework.
...

注意 version 行和 file: 符号。此符号已添加到 setuptools 39.2.0:

因此,请确保您的 setuptools 版本至少为 39.2.0,它可能会更好用(也许升级 pip 也有帮助)。