错误现象:
最近在做一个小项目,在Python中使用了jieba分词,感觉非常简洁方便。在Python端进行调试的时候没有任何问题,使用PyInstaller打包成exe文件后,就会报错:
错误原因分析:
参考文献1中的说明,WindowsError:[Error 3]是系统找不到指定文件。
参考文献2中@fxsjy同学的解释,应该是PyInstaller在打包的时候没有将词典文件一起打包导致结巴分词找不到指定的词典文件。
解决方案如下:
1、在python中查询结巴分词的词典文件:
1
2
3
|
import jieba
print jieba.get_abs_path_dict()
>>>d:\Python27\lib\site - packages\jieba - 0.34 - py2. 7.egg \jieba\ dict .txt
|
2、将词典文件复制到py文件(或者打包后的exe文件)对应的目录中,此处我使用的是一个相对路径:...\dict\dict.txt
3、在Python代码中对jieba分词的词典进行初始化操作:
1
2
3
|
jieba.set_dictionary( "dict\dict.txt" )
jieba.initialize() wordList = list (jieba.cut(strPeriodDesc))
|
参考文献:
1、http://desert3.iteye.com/blog/796209
2、https://github.com/fxsjy/jieba/issues/35