pyinstaller打包jieba库出错——解决方法

在使用PyInstaller打包包含jieba库的Python脚本时遇到错误。通过修改jieba库的tfidf.py源码,注释掉_get_abs_path函数并指定idf.txt的相对路径,可以解决File not Found Error。在exe文件的当前目录放置idf.txt文件以确保程序正常运行。但此方法需要每次打包前修改源码,且若仍有问题,注意检查idf.txt或dict.txt是否缺失,删除旧的build文件夹和.spec文件。
摘要由CSDN通过智能技术生成

先尝试:
http://blog.csdn.net/qq_26376175/article/details/69680992这篇文章讲的方法

我们打开要使用jieba库的脚本,

修改之后的代码为:

import jieba
jieba.set_dictionary('./dict/dict.txt')
jieba.initialize()
from jieba import analyse
from class_extract_crawler import *
import threading
import time
import re

这时候转换完毕执行发生错误,检查以后发现

File not Found Error: c:/xx/temp/_MEIxxxx/jieba/analyse/idf.txt

这样的问题。

现在我有一种解决方案,就是改一下jieba库的源码,

要修改的源码文件: your_path/python36/Lib/site-packages/jieba/analyse/tfidf.py

把_get_abs_path注释掉,改成 ‘./放idf.txt的目录/’也就是让它不要获取绝对路径而是去获取相对路径,

源码文件修改成:

'''此处为源码的前12行代码,修改的是第十二行代码'''
# encoding=utf-8
from __future__ import absolute_import
import os
import jieba
import jieba.posseg
from operator import itemgetter

_get_module_path = lambda path: os.path.normpath(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值