pip 无法从本地 pypi 中找到包(jfrog artifactory)
pip cannot find package from local pypi (jfrog artifactory)
我们有一个本地 pypi,我们在其中放置了一些 python 包。但是,pip 无法安装该软件包。
pip搜索会找到包:
$ 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
Collecting hello (from -r requirements.txt (line 4)) Could not
find a version that satisfies the requirement hello (from -r
requirements.txt (line 4)) (from versions: ) No matching distribution
found for hello (from -r requirements.txt (line 4))
这里是 requirements.txt:
# requirements.txt
--allow-all-external
--extra-index-url http://artifactory.ours.com/artifactory/api/pypi/pypi-local/simple
hello
我认为问题在于您的软件包没有版本号。您的 setup.py 未指定版本。
来自 Python 文档的示例(该示例用于 distutils):
所以如果我使用像 1.x
这样的旧版本的 pip,问题似乎就解决了。不确定这是 jfrog 错误还是与 pip 本身有关。
导致此问题的另一个可能原因是当您在将包上传到 artifactory 时在包名称中使用连字符 (-)。 pip 可以成功搜索并找到您的包,但无法安装它。用下划线替换连字符。
我们有一个本地 pypi,我们在其中放置了一些 python 包。但是,pip 无法安装该软件包。
pip搜索会找到包:
$ 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
Collecting hello (from -r requirements.txt (line 4)) Could not find a version that satisfies the requirement hello (from -r requirements.txt (line 4)) (from versions: ) No matching distribution found for hello (from -r requirements.txt (line 4))
这里是 requirements.txt:
# requirements.txt
--allow-all-external
--extra-index-url http://artifactory.ours.com/artifactory/api/pypi/pypi-local/simple
hello
我认为问题在于您的软件包没有版本号。您的 setup.py 未指定版本。
来自 Python 文档的示例(该示例用于 distutils):
所以如果我使用像 1.x
这样的旧版本的 pip,问题似乎就解决了。不确定这是 jfrog 错误还是与 pip 本身有关。
导致此问题的另一个可能原因是当您在将包上传到 artifactory 时在包名称中使用连字符 (-)。 pip 可以成功搜索并找到您的包,但无法安装它。用下划线替换连字符。