cat not import name “tarfile“ from ‘backports’ ,Failed to execute script pyi rth pkgres’due to ...

在Windows终端使用pyinstaller将python脚本打包成exe可执行文件后,运行exe文件出现下面报错:

解决方法:

第一步:仔细查看pyinstaller打包过程中的日志信息是否有报错的信息,比如我安装过程中出现的问题信息如下:

这个报错的根源是Scipy版本、Python版本和Numpy版本之间不对应,导致不兼容,这里给出对应关系表:

SciPy版本Python兼容版本NumPy兼容版本
1.13.0    3.9+    1.22.4或更高
1.12.0    3.9+    1.22.4或更高
1.11.0    3.9+    1.21.6或更高
1.10.0    3.8+    1.19.5或更高
1.9.0    3.8-3.11 1.18.5或更高

第二步:我这里报错的原因是由于NumPy 2.0.1版本与一些模块不兼容导致的。NumPy 2.0.1是一个重大更新,它不向后兼容之前的版本,解决思路是对NumPy进行降级:    

pip install 'numpy<2'

上面命令运行完后又报错:

第三步:这里报错的原因是:scipy 的版本是1.7.2,与降级后的numpy-1.26.4不兼容,解决方法是对scipy升级版本(截止目前最新的版本是1.14.1SciPy -,但是我指定这个版本一直安装不成功,因此我转而换成次新版本):

pip install scipy==1.13.1

然后重新使用pyinstaller打包,这里发现之前的报错信息没有出现了,说明打包的问题已解决。

第4步:但是重新打包的exe文件还是继续出现之前的问题,问题原因是pyinstaller版本太低,解决方法是——卸载再重新装:

pip uninstall pyinstaller
pip install pyinstaller

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值