pyinstaller打包程序后,运行exe后报错:FileNotFoundError: [Errno 2] No such file or directory

文章讲述了如何在使用PyInstaller打包Python程序时,由于Jieba库的dict.txt文件未被包含导致的FileNotFoundError,以及解决方法——通过添加--add-data参数指定源文件和目标文件路径。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

以使用jieba的项目为例。打包运行程序后,

pyinstaller -F D:\svn_code\xxx.py --distpath D:\lcf\project_install\ --specpath D:\lcf\project_install --workpath D:\lcf\project_install

报错:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\GONGDA~1\\AppData\\Local\\Temp\\_MEI218882\\jieba\\dict.txt'

pyinstaller打包的时候没有把jieba的dict.txt的这个文件打包进来,所以报错。解决办法,使用pyinstaller --add-data参数将dict.txt文件也打包起来。

–add-data参数的基本语法为:

--add-data <source>;<destination>

其中,<source>表示源文件路径,<destination>表示目标文件路径。
需要注意的是,由于Windows和Unix系统路径分隔符不同,因此在Windows系统中需要使用分号(;)作为路径分隔符,而在Unix系统中需要使用冒号(:)作为路径分隔符。

增加–add-data参数后的打包命令:

pyinstaller -F D:\svn_code\xxx.py --distpath D:\lcf\project_install\ --specpath D:\lcf\project_install --workpath D:\lcf\project_install --add-data "jieba/dict.txt;.\jieba"

增加–add-data “jieba/dict.txt;.\jieba”。

在第三方库jieba下找到dict.txt文件,在pyinstaller的目录下建立一个jieba的目录,将dict.txt文件放到创建的jieba目录下。我的是在D:\lcf\project_install目录下了jieba,将dict.txt放到jieba下。文件目录使用相对路径。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值