我已经创建了自己的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)
最佳答案
尝试使用pip 18.1安装另一个库时,我遇到了同样的问题。升级到pip 19.2.3可解决此问题。