ARTIFACTORY: pip安装不适用于pip 22.x
为什么在升级PIP客户端后尝试下载PyPI包时会出现错误?
Pip客户端22.0于2022年1月29日上映。这个版本改变了用于HTTP解析的包。因此,当从私有注册表(包括JFrog Artifactory)安装pip包时,此更改会产生错误。
我们(JFrog)已经意识到这个问题已经在发布修复程序.
更新Pip发布22.0.2版本,带有自动回退功能html5lib如果遇到上述错误。虽然这解决了pip安装错误,但它仍然首先尝试使用http.parser这意味着对Artifactory实例有不必要的额外请求。
Artifactory的未来版本将包含我们端的解决方案来支持http.parser,你可以跟随进度在这里.
我受影响了吗?
直到修复在使用新的PIP客户端版本时,所有Artifactory版本都会受到影响。
如果您使用的是pip 22.0.0或22.0.1版本,那么在尝试通过Artifactory安装包时,您将受到影响并可能遇到以下错误:安装map
弃用:使用distutils配置文件配置安装方案已弃用,并且在不久的将来将不再工作。如果您正在使用Homebrew或Linuxbrew Python,请参阅https://github.com/Homebrew/homebrew-core/issues/76621上的讨论
查看索引:http://user:****@artifactory.jfrog.io/artifactory/api/pypi/pypi-virtual/simple
错误:例外:
回溯(最近一次调用):
文件"/usr/local/lib/python3.9/site-packages/pip/_internal/cli/base_command.py",第165行,在exc_logging_wrapper .py中
状态= run_func(*args)
…
文件"/usr/local/lib/python3.9/site-packages/pip/_internal/index/collector.py",第426行,在_raise_error
提高ValueError (
ValueError: HTML文档类型缺失或不正确。将< !DOCTYPE html >。
如果您认为这个错误是不正确的,请尝试传递命令行选项——use-deprecated=html5lib,并请在https://github.com/pypa/pip/issues/10825上对pip问题发表评论。
缓解措施
1.将您的pip客户机升级到版本22.0.2其中包括可使用的自动回退html5lib.
2.使用脉冲22.0.1或以上,请遵循以下方法之一来使用html5lib:
a.设置环境变量:PIP_USE_DEPRECATED = html5lib
b.在你的安装命令中使用这个标志:——use-deprecated = html5lib
3.或者,您可以使用以下方法之一降级pip客户机:
- 在破坏性更改之前降级到最新的pip版本:
