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

错误现象:

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

时间: 2024-07-31 14:33:21

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

springboot打包发布tomcat遇到的bug及解决方法

1.--  在打包发布springboot时,先在pom.xml中把springboot内嵌的tomcat去掉,这样打包的时候就不会打tomcat的jar包 如下所示: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除内置容

Android - 百度地图打包混淆代码后地图崩溃的解决方法

前言: 之前开发项目用到百度地图,测试的时候没有问题:但是,一打包加混淆之后就出现地图崩溃的问题:项目已经完结,趁有闲暇时间赶紧分享一下自己的解决方案. 问题现象:    之前做百度地图开发时出现一些小问题.一搜发现大家似乎都遇到过这样的问题.大家知道百度地图API需要申请Key,填写安全码. 安全码的组成规则为:Android签名证书的sha1值 ";" packagename(即:数字签名 分号 包名) debug的话.代码没有经过混淆.百度地图正常使用.只有在打包之后才有这个问题

maven入门(3-1)maven打包时跳过测试的几个方法

运行mvn install时跳过Test 方法一:<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <config

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

1.手机升级到iOS 10之后,运行真机出现了Development cannot be enabled while your device is locked. 原因分析: 这里是你对这台电脑设置了不信任: 解决方法是:打开手机设置->通用->还原->还原位置与隐私:还原 然后会有弹窗提示你是否信任此电脑,点击信任,重启Xcode之后,运行项目到手机上 2.Xcode 出现 Could not locate device support files,This iPhone 6s is

jieba分词的词性标注

号称"做最好的Python中文分词组件"的jieba分词是python语言的一个中文分词包.它的特点有: 支持三种分词模式: ? 精确模式,试图将句子最精确地切开,适合文本分析: ? 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: ? 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. 支持繁体分词 支持自定义词典 Python 2.x 下的安装 全自动安装:easy_install jieba 或者 pip inst

python爬虫——京东评论、jieba分词、wordcloud词云统计

接上一章,抓取京东评论区内容. url='https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1' 重点是productId--产品id.page--页码.pageSize:指定

Jieba分词包(三)——基于词频最大切分组合

Jieba分词包(三)--基于词频最大切分组合 在前面,我们已经知道dict中所有的单词和词频信息已经存在了一个trie树中,并且需要分词的句子已经构建成了一个DAG图,构建的过程也运用了dict.那么这次我们来说如何基于每句话的DAG图,找到一个组合路径,使得该组合最合理(即打分最高)? 我们直接针对Jieba分词的源代码来解释,其中已经有了很多注释: def calc(sentence,DAG,idx,route): #动态规划,计算最大概率的切分组合 #输入sentence是句子,DAG句

python结巴(jieba)分词

python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义. (3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词.2.支持繁体分词3.支持自定义词典 二.实现 结巴分词的实现原理主要有一下三点:(1)基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG).(2)采用了动态

jieba分词的原理

 jieba介绍: 一.支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. 二.jieba自带了一个叫做dict.txt的词典, 里面有2万多条词, 包含了词条出现的次数(这个次数是于作者自己基于人民日报语料等资源训练得出来的)和词性. 这个第一条的trie树结构的词图扫描, 说的就是把这2万多条词语, 放到一个