单独生成 main.exe, pyinstaller × pyecharts 打包报错找不到文件 map_filename.json 一次搞定!

news2024/11/23 8:23:02

报错:

FileNotFoundError: [Errno 2] No such file or directory:
‘C:\Users\xxx\AppData\Local\Temp_MEI3455\pyecharts\datasets\map_filename.json’
报错截图
pyecharts 打包成 exe 的时候找不到 map_filename.json 文件。先找到这个文件,一般在本机 Python 安装目录下:
C:\Users\Administrator\xxx\Lib\site-packages\pyecharts\datasets\map_filename.json
在这里插入图片描述

显然,在 site-packages 目录下的东东,属于第三方库 pyecharts 所有。

原因:

网络上看了很多解答,模棱两可,我这里会说明原因。
首先,生成结果 main.exe(假设是这个名字吧),在Windows里运行起来,其实是先解压 main.exe 到用户临时目录。也就是报错中的:C:\Users\Administrator\AppData\Local\Temp\_MEI33343之类的目录(最后一个目录名称会有不同)。对应图中C:\\Users\\ADMINI~1\\AppData\Local\Temp\_MEI33343,没错,名字不太一样.
先保留报错窗口,这个临时目录才会存在,打开这个目录。
目录下是 main.exe 解压后所有的东西。如果找不到,说明里面没有,或者路径不对。如果没有,就加进来,如果路径不对,就改路径。
在这里插入图片描述
你发现了吗?临时目录中只有 datasets目录,而图中报错的是 …\pyecharts\datasets\… 显然按照后面这个路径是找不到文件的。

解决:

1.打包命令解释

我们的打包命令是:
pyinstaller -F -w main.py
pyinstaller 命令运行时会生成并覆盖 main.spec 文件,我们只要修改这个配置文件,增加打包的文件路径就行了。

2.添加打包文件路径

修改 main.spec 文件中 Analysis 的 datas :
在这里插入图片描述
图中例子包含了整个文件夹的拷贝,请注意看路径最后的部分(双斜杠)。
解压后,

在 datas 中设置元组(A,B):A,要打包的文件目录,B, 解压后该文件存放的目录(以 main.exe 解压目录为根)。
如果不拷贝文件夹而是单独拷贝文件,举例: ('xxx\\a.txt',’.‘),这样 a.txt 就会在 main.exe 解压后根目录下。
千万别写成 ('xxx\\a.txt',’.\\a.txt‘),哒咩哟!那样你会发现 a.txt 竟然变成了文件夹!

3.修改打包命令

修改了 main.spec 文件以后,需要修改打包命令为:

pyinstaller main.spec

不要再用 pyinstaller -F -w main.py 打包了,那样会覆盖掉 main.spec 文件。

结果

打包结果:
仅有一个 exe 可执行文件:
main.exe

运行时以迅雷之势打开临时目录可见:
目录正确了
解压后的目录有了,东西也在里头,自然也就没问题了。
运行ok。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文掌握linux系统管理命令

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

SuperMap GIS基础产品移动GIS FAQ集锦(3)

SuperMap GIS基础产品移动GIS FAQ集锦(3) 【iMobile】网络分析中设置权值字段,如何添加多个权值字段? 【解决办法】通过权值字段集合类(WeightFieldInfos)设置,该类是权值字段信息对象&#x…

回波3DFFT处理(测距、测速、测角)

回波3DFFT处理(测距、测速、测角) 1、测距、测速2、测角3、3DFFT处理4、MATLAB程序 本文主要针对TI 毫米波雷达的测距、测速、测角的基本方法——3DFFT处理进行简单介绍,并提供MATLAB处理程序,分析3DFFT处理结果。 1、测距、测速…

高等数学下拾遗+与matlab结合

如何学好高等数学 高等数学是数学的一门重要分支,包括微积分、线性代数、常微分方程等内容,它是许多理工科专业的基础课程。以下是一些学好高等数学的建议: 扎实的基础知识:高等数学的内容很多,包括初等数学的一些基…

Postgresql源码(107)analyze行采样流程分析(pg_class中reltuples行数评估是哪里来的准确吗)

总结 pg_class中reltuples行数评估是哪里来的? 行数评估发生在acquire_sample_rows采样函数中,算作采样的副产品之一。 总行数评估totalrows即:扫到页面中live元组的数量 / 扫到多少页面 * 总页面,向上取整。 pg_class中reltu…

十九、socket套接字编程——udp

文章目录 一、socket套接字编程接口(一)socket头文件(二)socket 常见API(套接字编程接口)1. 创建 socket 文件描述符 (TCP/UDP, 客户端 服务器 )2.绑定网络信息 (TCP/UDP, 服务器 )3.开始监听 socket (TCP…

【安装教程】KingFunsion3.6-Windows版本的安装教程

哈喽!大家好,我是雷工! 由于项目需要今天学习认识KingFunsion3.6及记录Windows版本的安装教程。 一、KingFunsion介绍 1、KingFunsion是什么? KingFunsion是一款面向工程师的管控一体化全组态平台,是一套面向制造企…

Flutter进阶-Future、FutureBuilder、StreamBuilder详解

一、时间循环 Event Loop机制 程序之所以卡说白了就是没有时间更新UI界面刷新屏幕导致 常见的卡顿主要是两种: 1.很大的计算量CPU忙不过来 2.等待,等服务器的响应、等用户的输入、等文件的读取...等等 在多线程的机制里每当遇到需要等的东西就开启一…

管理类联考——逻辑——知识篇——分析推理——二、匹配——haimian

匹配 题型识别 题干一般提供3-5个对象和2~3个维度的信息,并描述某对象及信息间的条件关系,要求将信息进行匹配。要从一个一个条件出发,通过逻辑推理,得出正确答案。 思维导图 解题技巧 注意选项的模式,如果已经将关…

Unity | HDRP高清渲染管线学习笔记:HDRP光照系统(二)

目录 一、光源类型和模式 1. Light组件 1.1 General(通用设置) 1.1.1 LightLayer(光照层) 1.2 Emission(发光设置) 1.3 Shadows(阴影) 二、Light Layer(光源分层&…

【C/C++实战项目】扫雷游戏

目录 项目分析 外部头文件 初始化 打印 扫雷游戏函数 main函数 项目分析 游戏需要自定义地图的大小、埋雷的数量通过输入坐标进行扫雷,输入的坐标是埋雷的地方,则游戏失败输入的坐标未埋雷,则该坐标显示周围8个坐标总共的雷数游戏初始…

Ant Design Vue实现表格双击编辑、添加新行、文字提示

早上刚上班,产品就朝我工位走了过来,一看大事不好,肯定又是来提需求的! 产品:做一个表格,要实现双击编辑的功能 我:做不了 产品:老板提的 我:好的,可以做 老板…

什么是测试开发工程师?

目录 前言: SDET是做啥的? 为什么需要测试开发? SDET的角色和职责 技术和软技能 非技术能力: 沟通能力 时间管理和组织能力 良好的工作态度 热情 日常工作 事业进阶 总结 前言: 测试开发工程师 (Software …

AIDL中 Binder 的具体流转过程(源码讲解)

前言 本篇文章承接上篇 Binder对象的流转(系统服务的调用过程、AIDL的使用过程) 上一篇简单笼统地说明了流转的大致方向与手段,此篇文章我们将深入代码层面,看看 Binder 到底是怎么实现的。 一、一个简单的AIDL示例 客户端&…

网关全局过滤器:Java中的强大工具

文章目录 网关过滤器简介网关过滤器的作用过滤器的生命周期实际应用示例权限过滤器解析 总结 网关过滤器简介 网关过滤器是一个位于应用程序和底层服务之间的组件,它截取进出网络请求,并提供对请求和响应进行处理的机制。它可以在请求到达目标服务之前或…

测试老鸟的职业生涯,从初识到功能再到自动化测试,他都经历了啥...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 张工:…

Qt/C++编写onvif工具(搜索/云台/预置位/OSD/录像存储)

一、前言 从最初编写这个工具开始的时间算起来,至少5年多,一直持续完善到今天,这个工具看起来小也不小大也不大,但是也是经历过无数个现场的洗礼,毫不夸张的说,市面上能够遇到的主流的厂商的设备&#xff…

深入探究 ReentrantLock 的应用和原理

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

微信开发者工具-导入小程序项目会自动切换到小游戏打开出错的解决方案

微信开发者工具导入小程序项目会自动切换到小游戏打开出错, 提示Error 提示appid错误,如下图 错误 Error: INVALID_TOKEN...表示网络已断开, 检查开发工具是否连接到网络, 或注销重新登录开发工具试试 提示缺少文件 如果提示缺…

智能安全用电技术电气火灾监控的应用介绍 安科瑞 许敏

摘要:智能安全用电技术在智慧监狱的应用,可以提升监狱智能化管控水平和降低能耗。文章以智能安全用电技术为入手点,简要分析了监狱用电现状,论述了智能安全用电技术在智慧监狱中的具体应用,对智能安全用电技术在智慧监…