Python2.7下使用pip8.1.2安装pre-commit失败的问题求助
解决Python2.7下安装pre-commit 1.21.0的依赖冲突问题
问题核心是pre-commit 1.21.0仅要求virtualenv>=15.2,但pip会自动拉取最新的virtualenv版本(20.17.1),而该版本已放弃支持Python2.7,同时还要求setuptools>=41——但Python2.7能兼容的setuptools最高版本也无法满足这个要求,且即便满足,virtualenv20+系列也不支持Python2.7。
直接的解决方法是指定兼容Python2.7的virtualenv版本,再安装pre-commit:
- 先安装适配Python2.7的virtualenv最高版本:
pip install --user virtualenv==16.7.10
(16.7.10是virtualenv最后支持Python2.7的版本)
- 再安装pre-commit 1.21.0:
pip install --user pre-commit==1.21.0
如果不想分开操作,也可以一次性指定两个包的版本完成安装:
pip install --user pre-commit==1.21.0 virtualenv==16.7.10
补充说明:
- Python2.7已停止维护,pre-commit从2.0版本起不再支持Python2.7,1.21.0确实是其最后兼容Python2.7的版本
- 务必避免不加版本号直接执行
pip install pre-commit,否则pip会尝试拉取最新的不兼容版本
内容的提问来源于stack exchange,提问作者J.N.
相关产品推荐
相关产品推荐

