使用pipreqs生成requirements.txt遇GitPython版本冲突,求解决方案
解决pipreqs生成requirements.txt出现版本冲突的问题
方法1:提前安装pipreqs依赖再生成
先补全pipreqs需要的本地依赖,避免它去PyPI解析时出错:
pip3 install GitPython requests
再重新运行pipreqs命令:
python3 -m pipreqs.pipreqs $BASEDIR --force
这样pipreqs会直接读取本地已安装的依赖版本,不会重复生成冲突条目。
方法2:切换pipreqs的解析模式
pipreqs默认用strict模式解析,可尝试换成loose模式,降低重复版本的生成概率:
python3 -m pipreqs.pipreqs $BASEDIR --force --mode loose
方法3:用pip freeze或pip-tools替代(适合虚拟环境场景)
如果项目在虚拟环境中开发,直接用pip freeze生成更准确的依赖清单:
pip3 freeze > requirements.txt
要是只想保留项目直接依赖,可搭配pip-tools过滤间接依赖:
# 先安装pip-tools pip3 install pip-tools # 手动创建requirements.in写入项目直接依赖包名后执行 pip-compile requirements.in
方法4:手动清理冲突版本
如果以上方法都无效,直接编辑requirements.txt,删除重复的GitPython版本行(比如保留GitPython==3.1.32,删掉GitPython==3.1.31),再执行安装即可。
内容的提问来源于stack exchange,提问作者Jade
相关产品推荐
相关产品推荐

