Closed BigerPatax closed 2 years ago
Requirement文件有优先级,如果paddlepaddle依赖了某个包,如果单独指定这个包是会被覆盖的,并不会按你所指定的那个版本安装。
QPT为了解决这个问题,做了个特殊指令,但目前还没有做单测,或许你可以试试这样写Requirement,如果不能解决,周末我也会单测+更新一下这个情况。
protobuf==3.20.0 #$QPT_FLAG$force
protobuf==3.20.0 #$QPT_FLAG$copy
虽然这样做有点不是很舒服,但还是得和pip的规则做对齐,目前的维护工作量来看这样是会轻松一些,后期也会考虑换一些比较优雅的方式解决这类情况。
已解决,感谢大佬
QPT版本
1.0b3.dev10
操作系统版本
Windows 10
CPU型号
inter i3 10100
核心信息填写
复现步骤/报错截图
步骤描述
打包一个paddlepaddle程序,debug运行时报错 猜测可能时paddlepaddle版本的问题 protobuf 于 2022.05.26 发布了 4.21 版本,如果您环境中没有 protobuf 的话,默认安装 paddle 时会自动下载最高版本的protobuf 4.21,paddle能安装成功但是 import paddle 会报错,这是由于protobuf 4.21 为不兼容升级,目前 develop 版本的 paddle 已经修复了这个问题( see https://github.com/PaddlePaddle/Paddle/pull/43009 ),但是发行版由于已经编包发布所以仍存在这个问题,飞桨会在下个版本2.3.1中解决。
解决办法:
手动降低 protobuf 为 3.x pip install protobuf==3.20.1 但是打包时我设置了requirements_with_opt.txt的protobuf==3.20.0,依然报错
【如报错则必须提供】Requirements文件内容
【如报错则必须提供】完整打包日志
完整运行日志(如打包时已报错,此处可选)
其他信息