我创建了自己的python wheel软件包并将其托管在本地,以便可以使用--extra-index-url标志使用pip进行安装,如下所示:
pip install --extra-index-url http://10.0.0.100:5000/ MyPackage --trusted-host 10.0.0.100
我已经安装了几个依赖项,对于pip版本9.0.1,这似乎可以正常工作;它将首先在提供的索引中查找依赖项,由于我仅托管自己的程序包,因此会出现404错误,然后尝试在默认索引URL https://pypi.org/simple处查找它。
但是,升级到pip 18.1后,它会在初始404错误时引发异常并取消整个安装:
HTTPError: 404 Client Error: NOT FOUND for url: http://10.0.0.100:5000/urllib3/
我做错什么了吗?这是预期的功能吗?
最终,我希望能够在本地托管单个软件包,使用pip下载并安装它,但是要从默认pip存储库中提取任何依赖项。还有另一种方法可以做到这一点吗?我读过的所有内容都说--extra-index-url是完成此操作的方法,但它似乎不再起作用...
更新:
我尝试在另一个系统上复制此文件,并使用pip版本9.0.1遇到了相同的问题,因此看来升级不是根本原因。奇怪的是,在另一个系统上升级到18.1之后,它仍然可以正常工作...
最终,我可以通过easy_install卸载并重新安装pip来使原始系统正常工作。我仍然不确定潜在的问题是什么...
要回答评论,为此,我使用了Flask-AutoIndex来托管文件夹的内容。不是我想的那样简单,但是可以完成工作:
from flask import Flask
from flask_autoindex import AutoIndex
app = Flask(__name__)
AutoIndex(app, browse_root='packages')
if __name__ == '__main__':
app.run('0.0.0.0', debug=True, port=5005, threaded=True)
答案 0 :(得分:1)
尝试使用pip 18.1安装另一个库时,我遇到了同样的问题。升级到pip 19.2.3可解决此问题。