pyinstaller+pyecharts报错:[Errno 2] No such file or directory: ‘..\map_filename.json‘;以及win10/win7不兼容

文章讲述了在使用PyInstaller打包项目时遇到的关于pyecharts的错误,涉及__HERE变量修改导致的map_filename.json丢失问题。作者提供了创建hook-pyecharts.py和添加数据文件、隐式导入的详细解决步骤,以及处理Win7系统缺失dll的问题。

pyinstaller和py2exe是常用的.py打包.exe工具,但打包引用了pyecharts的代码时总是报错。虽然.exe打包成功,但双击运行时闪退,报错:

[Errno 2] No such file or directory: 'C:\Users\ADMINI~1\AppData\Local\Temp\_MEI一串数字\pyecharts\datasets\map_filename.json

这是因为打包时修改了.\site-packages\pyecharts\datasets\_init_.py里的__HERE变量,使其找不到map_filename.json

网上有解决方案是重新源码安装pyecharts,可能有用,下面是我亲测有效的解决办法:

解决办法:

1.在.\Lib\site-packages\PyInstaller\hooks路径下新建一个hook-pyecharts.py,里面写入

from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('pyecharts')

2.在用Pyinstaller打包时,加入两个命令参数:

pyinstaller --add-data="D:\Program Files (x86)\PycharmProjects\map\Lib\site-packages\pyecharts;pyechats" --hidden-import=pyecharts.render.engine -F GUI.py

生成的.exe便可正常运行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值