pip安装内部包时遇'install_requires'格式错误,求解决方案
解决pip安装内部包时的'install_requires'版本规范错误
问题根源
pip 20.3及以上版本严格遵循PEP 440版本规范,PyJWT>=1<2这种简写格式不符合规范,正确写法应为PyJWT>=1.0,<2.0(明确版本范围)或PyJWT~=1.0(兼容1.x全系列版本)。
解决方法
方法一:修正依赖声明(彻底解决)
如果有权限修改内部包或lasso的源码:
- 找到对应包的
setup.py或pyproject.toml配置文件 - 定位到
install_requires中的PyJWT依赖行,把PyJWT>=1<2替换为PyJWT>=1.0,<2.0或PyJWT~=1.0 - 重新打包后执行安装命令即可
方法二:启用旧版依赖解析器(临时兼容)
无法修改源码时,可通过pip参数临时兼容旧格式:
pip install 你的内部包名 --use-deprecated=legacy-resolver
注意:该参数仅为临时过渡方案,后续pip版本可能移除,建议优先用方法一彻底解决。
方法三:手动安装依赖后再装包
- 先手动安装符合规范的PyJWT版本:
pip install PyJWT>=1.0,<2.0
- 再跳过依赖检查安装内部包:
pip install 你的内部包名 --no-deps
注意:--no-deps会跳过所有依赖安装,需确保其他依赖已提前手动安装完整。
内容的提问来源于stack exchange,提问作者eia92
相关产品推荐
相关产品推荐

