ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pyinstaller FileNotFoundError

2021-09-06 16:30:49  阅读:190  来源: 互联网

标签:jieba pyinstaller hooks FileNotFoundError py hook 打包


原文链接:https://blog.csdn.net/liulina603/article/details/81808730

在用pyinstaller打包(-F 选项),如果用到的第三方库含有data文件,而pyinstaller又没有自带该第三方库文件的hook的时候,执行打包后的exe一般会报以下错误

FileNotFoundError: [Errno 2] No such file or directory: ‘C:\Users\ADMINI~1\AppData\Local\Temp\1_MEI54762\jieba\dict.txt’
[20784] Failed to execute script bat_server

上面就是没把python库jieba的dict.txt打包进来,导致了错误。

那么,解决问题也很简单,自己写个hook,然后放进pyinstaller的hooks里面即可。

hook文件的命名规范为: hook-【库名】.py,以结巴分词为例,即为hook-jieba.py,然后简单敲入以下两行:

from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files(“jieba”)

接下来,找到pyinstaller的hooks文件夹,大概位于:
python根目录\Lib\site-packages\PyInstaller\hooks下,然后把hook-jieba.py丢进去,如下图所示:

从此网站转:https://blog.csdn.net/lucyTheSlayer/article/details/92795220

最后,回到项目根目录,用pyinstaller打包即可。(注意需要把build目录删了,使pyinstaller从头开始打包)

当看到pyinstaller的日志里使用了我们自定义的hook后,就万事大吉了。

标签:jieba,pyinstaller,hooks,FileNotFoundError,py,hook,打包
来源: https://blog.csdn.net/weixin_43918005/article/details/120138507

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有