我已经创建了自己的python轮包,并将其托管在本地,这样我就可以使用--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 repo中提取任何依赖项。有没有其他方法可以做到这一点?我读过的所有东西都说--额外的索引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)
发布于 2019-08-29 20:53:05
当我尝试用pip 18.1安装另一个lib时,我也遇到了同样的问题。升级到pip 19.2.3解决了这个问题。
https://stackoverflow.com/questions/53979084
复制相似问题