pip-compile运行报错AttributeError: 'ParsedRequirement'无'editable'属性求助
问题原因
这个AttributeError: 'ParsedRequirement' object has no attribute 'editable'报错是pip和pip-tools版本不兼容导致的:pip 21.0及以上版本重构了内部的依赖对象结构,移除了旧的editable属性,而你使用的pip-tools 6.1/6.2版本没有适配pip 21.0+的API改动,所以调用时报错。
可行解决方案
按照以下步骤操作即可解决:
- 先卸载现有不兼容的版本
pip uninstall -y pip pip-tools
- 选择任意一组经过验证的兼容版本安装即可:
- 方案一(Python 3.7环境优先选择,稳定性最高):安装pip 20.3.4 + pip-tools 5.5.0
pip install pip==20.3.4 pip-tools==5.5.0
- 方案二(需要用更高版本pip-tools时选择):安装pip 21.2.4 + pip-tools 6.3.0(pip-tools 6.3.0才正式修复了对pip 21.2版本的兼容问题)
pip install pip==21.2.4 pip-tools==6.3.0
- 刷新环境验证
如果你使用pyenv管理Python版本,安装完成后执行pyenv rehash刷新命令软链,之后执行pip-compile --version,正常输出版本号即说明配置成功。
注意:测试前可以先暂时注释掉requirements.in里的
-e开头的本地可编辑依赖,排除配置文件语法问题导致的异常。
内容的提问来源于stack exchange,提问作者mj_
相关产品推荐
相关产品推荐

