错误现象:

最近在做一个小项目,在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

【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法的更多相关文章

  1. 利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...

  2. 关于ionic2打包android时gradle下载不了的解决方法(附:简单优化启动速度彩蛋)

    问题 之前在使用ionic2时使用建立android平台命令或者编译时,总是会在获取gradle时卡住,等很久进度也不变化,导致命令超时失败.于是经过查阅资料和自己实践测试,总结出以下办法. 方法 其 ...

  3. vue打包后出现一些map文件的解决方法

    Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1.运行  cnpm run build  开始 ...

  4. Vue Cli 打包之后静态资源路径不对的解决方法

    cli2版本: 将 config/index.js 里的 assetsPublicPath 的值改为 './' . build: { ... assetsPublicPath: './', ... } ...

  5. 定位真机运行能用但是打包成apk就不能用的解决方法

    打包apk的SHA1,与key的SHA1(这是多人开发的通病不同电脑共同开发一个app的常见错误之一)不一致.解决方法: 今天虽然离职了,但是今天遇到的是,当我在用高德地图开发的时候,在Android ...

  6. mpvue打包没有app.json等配置文件的解决方法

    问题 一早上折腾了1个小时,小程序始终提示查找不到'app.json'文件.mpvue重新打包,光生成内容文件无配置文件. 解决办法 出错原因:版本问题 只需要把packpage.json里的mpvu ...

  7. maven常见问题处理(3-2)maven打包时跳过测试的几个方法

    运行mvn install时跳过Test方法一:<project> [...] <build> <plugins> <plugin> <group ...

  8. xcode打包苹果应用遇到的问题及解决方法

    1.手机升级到iOS 10之后,运行真机出现了Development cannot be enabled while your device is locked. 原因分析: 这里是你对这台电脑设置了 ...

  9. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

随机推荐

  1. HttpURLConnection 下载文件

    String fileUrl = request.getRequestURL().substring(0, request.getRequestURL().indexOf("/rest&qu ...

  2. C#WebClient常见用法

    System.Net.WebClient.DownloadFile(Uri address, String fileName) namespace:System.Net 参数: address:The ...

  3. Adapter(适配器)-类对象结构型模式

    1.意图 将一个类接口转换成客户希望的另外一个接口.Adapter模式使那些原本不能一起工作的类,可以一起工作. 2.别名 包装器 Wrapper. 3.动机 一个应用可能会有一些类具有不同的接口,并 ...

  4. [转] linux虚拟带库操作笔记

    原文来自:“王旺的书房” ---- http://blog.itpub.net/271063/viewspace-1059840/ 分类: Linux 查看设备[root@node1 ~]# lssc ...

  5. [转载]PHP 5.6 on CentOS/RHEL 7.0 and 6.6 via Yum

    https://webtatic.com/packages/php56/ PHP 5.6.5 has been released on PHP.net on 22nd January 2014, an ...

  6. Windows2003 II6.0 FTP 开了防火墙 FTP不能正常工作的解决办法

    .在防火墙设置的“高级-本地连接-设置”中把FTP的勾选

  7. 关于CSS3的代码总结(部分)

    1. 构造样式表:selector{ Property:value; Property:value; } Selector是需要更改样式的元素,property为css属性的名称,value应用的哪种 ...

  8. Java 第五章 循环结构1

    循环结构 1 while 循环结构 ,do- while 循环结构 . 循环结构: 必须满足两个条件 . 1,循环条件 和 循环 操作 ! while 循环 特点:先判断,再执行 , 编码规范:缩进, ...

  9. 编译器问题:运行maven,报错-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

    1.新建环境变量M2_HOME 2.指向你的maven安装目录 例如 :M2_HOME=D:\Apps\apache-maven-3.3.9 3.进入Myeclipse进行修改,Window-> ...

  10. SQL调优之排名优化

    mysql> explain extended select t.rowno from (SELECT @rowno:=@rowno+1 as rowno,ur.customer_id as u ...