Python pyinstaller打包成exe文件后执行失败FileNotFoundError
2021/6/27 22:20:47
本文主要是介绍Python pyinstaller打包成exe文件后执行失败FileNotFoundError,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在用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丢进去,如下图所示:
最后,回到项目根目录,用pyinstaller打包即可。(注意可能需要把build目录删了,使pyinstaller从头开始打包)
当看到pyinstaller的日志里使用了我们自定义的hook后,就万事大吉了。
PS:打包tushare的时候也有类似问题,下次可以直接用此法解决。
这篇关于Python pyinstaller打包成exe文件后执行失败FileNotFoundError的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-18Python编程基础
- 2024-10-18Python基础概念与实践
- 2024-10-18Python编程基础
- 2024-10-18Python开发基础:变量与类型
- 2024-10-16Python基础教程:从变量与类型开始
- 2024-10-16Python编程基础与进阶
- 2024-10-16Python编程基础教程
- 2024-10-16Python基础入门指南
- 2024-10-11Python编程基础与实践
- 2024-10-11Python编程基础