python3.13配置PaddleClas问题:AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? & ImportError: numpy.core.multiarray failed to import
Python3.13在PaddleClas运行适配问题
报错1:AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
pkgutil
的ImpImporter
在Python3.13已经弃用了,但是旧版Numpy
依然会尝试使用,所以导致了这个错误。参考Issue
而PaddleClas的requirements
很久没有更新过,所以会在安装依赖的过程中遇到此问题,使用较新版本的Numpy
即可。
报错2:ImportError: numpy.core.multiarray failed to import
解决了报错1之后,在尝试训练模型时,又会遇到报错2,这是因为PaddleClas
的opencv
版本太旧了,与我们刚刚选用的Numpy
版本并不兼容,这时候一个选择是手动选择兼容的版本,但是比较麻烦,需要反复尝试;最优解是添加辅助包:opencv-contrib-python
,关于这个包的说明
解决方法2
因为要尽量避免新的引入新的依赖,所以我们也可以通过更新opencv-python
版本到>=4.10.0.84的方式来解决这个报错
问题3:Nvidia-dali
还不支持python3.13
因此,需要用到该包的项目都无法运行了。