python用pyinstaller打包有gevent程序遇到的坑,运行程序报错"pkg_resources.DistributionNotFound"的解决办法...

具体报错情况如图:
在这里插入图片描述

最后一句是重点:
pkg_resources.DistributionNotFound:the “cffi>=1.11.5” distribution was not found…

这里明明已经打包好了exe文件,也没有报错。但是运行exe时候,却弹出这个界面一闪而过。

之后再查阅了pyinstaller的官方文档后,找到了解决办法。

创建一个hook-ctypes.macholib.py文件:
里面的内容如下:

from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata('cffi') 

然后打包的时候,多加一句–additional-hooks-dir=. , 如下所示:
pyinstaller -F yourfile.py --additional-hooks-dir=.

但这次还会报错如下图:
在这里插入图片描述
我刚开始,尝试重新装greenlet版本,gevent反复删除安装,另外一行添加copy_metadata(‘greenlet’)发现都没有效果。
后面经过自己尝试发现在后面 + copy_metadata(‘greenlet’)就成功了,得用+的方式才可以通过

from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata('cffi') + copy_metadata('greenlet')

然后再次进行打包exe程序就可以发现程序,打包出来的exe文件就能够正常使用了。

如果觉得我这篇文章对你有帮助,麻烦关注点赞

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值