Python3安装pyhanlp最佳解决方法

news2024/12/23 5:19:57

1、Hanlp介绍

Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。其主要优点包括:

  1. 高准确率:Hanlp采用了基于神经网络的分词方法,有效提高了分词的准确率和速度。
  2. 广泛覆盖:Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等,能够满足大部分的自然语言处理需求。
  3. 多语种支持:Hanlp支持多种语言的处理,如中文、英文、日文等,可应用于多语言环境下的自然语言处理任务。
  4. 易于集成:Hanlp提供了丰富的API接口和开箱即用的模型,易于集成到Java项目中,并且支持Python、Go、C++等多种编程语言的使用。

总之,Hanlp是一款功能强大、易于集成的中文自然语言处理工具,并且具有广泛的应用场景。

2、问题背景

最近工作上需要用到hanlp这个包,因此开始踩坑之路……

ModuleNotFoundError: No module named 'hanlp'报错

pip install pyhanlp安装报错

 3、解决方法

步骤1:安装JPype1,但是使用pip install JPype1命令安装报错。

解决方法:找对应Python版本的jypel的whl,下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/

根据自己得python版本选择下载对应的安装包: pip install JPype1-1.2.0-cp36-cp36m-win_amd64.whl

注:安装时,whl后缀也需要带上。

检测是否安装成功(运行成功即可):

import jpype
jvmPath=jpype.getDefaultJVMPath()
print(jvmPath)   # D:\jdk\bin\server\jvm.dll

安装完成后,此时安装pip install pyhanlp,还是报错。

步骤2:源码编译安装

进入官网下载源代码zip ,然后解压到Python包中。链接地址:mirrors / hankcs / HanLP · GitCode

解压之后,在解压后的安装目录

D:\python3.6.6\Lib\site-packages\HanLP-doc-zh(这是安装目录)执行:

python setup.py install

开始执行编译安装。

安装过程会报错,需要安装torch,去Python安装包大全里面下载安装即可。

Python安装包大全:https://www.lfd.uci.edu/~gohlke/pythonlibs/

再执行:python setup.py install,还是有点小问题,但是运行代码不在报这个错了:ModuleNotFoundError: No module named 'hanlp'。

 继续踩坑………………

步骤3:HanLP安装

下载jar配置文件hanlp.jar包和data数据,地址:Releases · hankcs/HanLP · GitHub

下图点击下载就可以了:

 下载后先将hanlp-1.8.4-release安装包解压到本地,并重命名为hanlp_package(任意取),并将data-for-1.7.5.zip解压后的data文件夹放到hanlp_package安装包中。

 接着,修改hanlp.properties配置文件,将里面的默认路径改为你本地路径即可:

 注:HanLP的路径在"D:\software\hannlp"(最好路径中不要带中文)

4、HanLP代码测试

from jpype import *

startJVM(getDefaultJVMPath(), "-Djava.class.path=D:\software\hannlp\hanlp-1.7.2.jar;D:\software\hannlp",
         "-Xms1g",
         "-Xmx1g") # 启动JVM,Linux需替换分号;为冒号:

print("=" * 30 + "HanLP分词" + "=" * 30)
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分词
print(HanLP.segment('小明毕业于北京理工大学,后就职与中国科学院大数据研究所。'))
print("-" * 70)

shutdownJVM()

运行结果:

==============================HanLP分词==============================
[小明/nz, 毕业/v, 于/p, 北京理工大学/ntu, ,/w, 后/f, 就职/vi, 与/cc, 中国科学院/nt, 大/a, 数据/n, 研究所/nis, 。/w]
----------------------------------------------------------------------

但此时还是不能导入pyhanlp,运行程序报错。执行命令安装pip install pyhanlp,还是报错。

重启一下,再执行pip install pyhanlp,安装成功,解决!!!

代码测试:

from pyhanlp import *
conten_list = HanLP.parseDependency("小明毕业于北京理工大学,后就职与中国科学院大数据研究所。")
print(conten_list)

运行结果:

1	小明	小明	nh	nr	_	2	主谓关系	_	_
2	毕业	毕业	v	v	_	0	核心关系	_	_
3	于	于	p	p	_	2	动补结构	_	_
4	北京理工大学	北京理工大学	ni	ntu	_	3	介宾关系	_	_
5	,	,	wp	w	_	2	标点符号	_	_
6	后	后	nd	f	_	7	状中结构	_	_
7	就职	就职	v	v	_	2	并列关系	_	_
8	与	与	p	p	_	11	左附加关系	_	_
9	中国科学院	中国科学院	ni	nt	_	10	定中关系	_	_
10	大数据	大数据	n	n	_	11	定中关系	_	_
11	研究所	研究所	n	n	_	7	并列关系	_	_
12	。	。	wp	w	_	2	标点符号	_	_

5、小结

综上,以上踩坑步骤,即可解决pip install pyhanlp安装报错 或 ModuleNotFoundError: No module named 'hanlp'报错问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于字符集

字符集 编码与解码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数…

【老王读SpringMVC-7】Controller method 的异常返回值处理

通过前面分析 Controller method的执行过程,我们知道, handler method 的执行是通过调用 ServletInvocableHandlerMethod#invokeAndHandle()。 执行过程中的异常全部会往上抛出,然后由 DispatcherServlet 来处理。 DispatcherServlet 会调用 …

MATLAB第十章_图像处理算法

目录 图像处理算法 图像处理基础 图像处理函数 默认显示方式 添加颜色条 显示多帧图像 显示动画 三维材质图像 图像的直方图 灰度变换 均衡直方图 图像处理应用 图像增强 图像重建 图像变换 图像压缩 图像分割 图像边缘检测 图像识别 图像处理算法 图像处理…

化繁为简,在线表单工具值得一试!

在办公职场中,经常听到不少人抱怨:表单制作效率低、数据整理麻烦等,这个时候不少办公职员是多么希望能有一整套完善的表单制作工具来满足办公需求,快速提升办公协作效率。不要着急,如今是产业分工新时代,在…

Linux终端环境下的浏览器Lynx和Carbonyl 的基本使用方法

一、Carbonyl 是基于Chromium开发的运行于终端下的现代版浏览器,比Lynx的功能更好,目前尚在滚动开发过程中,但也基本可以用了。 1. 2安装非常简单,下载Binaries,Docker,nmp install, 都可以。 注意&#…

智能电表怎么实现远程抄表

智能电表是一种新型的电表,它可以实现远程抄表的功能。智能电表的远程抄表是通过无线网络或有线网络来实现的,这使得抄表变得更加方便和快捷。本文将介绍智能电表如何实现远程抄表的技术原理和实现方法。 一、技术原理 智能电表的远程抄表是通过将电表与…

定了 香港新政6月1日生效 散户交易加密货币正式合法化!

如今,香港虚拟资产交易的各项准备工作已准备就绪。5月23日,香港证监会(SFC)详细介绍了各界参与虚拟资产交易的咨询总结文件,宣布《适用于虚拟资产交易平台营运者的指引》将于2023年6月1日生效。 SFC行政总裁梁凤仪表示…

2023 最全 Java 面试八股(涵盖所有 Java 核心面试知识点),立刻收藏

2022 已成为过去式,不论这一年好与坏,我们都需要抓住新一年的机会,跳槽涨薪,还是学习提升!先给自己定一个小目标,然后再朝着目标去努力就完事儿了!为了帮大家节约时间,给大家搞来了 …

2023 华为 Datacom-HCIE 题库 02--含解析

单选题 1.[试题编号:189785] (单选题)如图所示,VTEP1上在BD20域内开启了ARP广播抑制功能,并且VTEP1通过 BGP EVPN路由学习到了PC2的ARP信息,则PC1发送的针对PC2的ARP请求,VIEP1在转发给VIEP2时…

SpringCloud(23):Sentinel对Spring Cloud Gateway的支持

代码地址:https://download.csdn.net/download/u013938578/87767363 从 1.6.0 版本开始,Sentinel 提供了 Spring Cloud Gateway 的适配模块,可以提供两种资源维度的限流: route 维度:即在 Spring 配置文件中配置的路…

ChatGPT 入门教程||ChatGPT 应用场景1:让AI回答问题||ChatGPT应用场景2:基于已有的示例回答

ChatGPT 应用场景1:让AI回答问题 这个场景应该是使用 AI 产品最常见的方法。以 ChatGPT 为例,一般就是你提一个问题,ChatGPT 会给你答案,比如像这样: 在这个场景下,prompt 只要满足前面提到的基本原则&am…

通过opencv与神经网络对滑动验证码的一次深入学习

好久没写博客了,人到中年,有点儿犯懒。 从信息安全行业,又去了IT合规领域,与信息安全结合还是两手抓,两手都不硬。 由于工作原因,需要获取一个token来请求接口,奈何没有现成的接口&#xff0c…

记一次Android页面卡顿排查总结

背景:更新完gosdk(端上的主要逻辑在go层完成)后,冷启动时首页明显会卡一下 问题排查: 1、通过在application onCreate()中设置getMainLooper().setMessageLogging(new LxLogPainter());来查看耗时的日志,…

cfssl使用方法重新整理说明

下载安装: #下载cfssl、cfssl-json、cfssl-certinfo文件 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/bin/cfssl wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/bin/cfssljson wget https://pkg.cfssl.org/R1.2/cfssl-certinfo…

低代码开发:构建企业数字化生态系统的秘密武器!

目前,我们正处于数字化时代,而企业数字化早已是大势所趋,也是因为企业数字化转型是提高企业效率与竞争力的必经之路。 发展背景 近年来,伴随着人工智能、大数据分析技术、云计算等领域的迅速发展,不少企业开始正视数字…

【How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读】

How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读 INFORMATIONAbstract1 Introduction2 Background3 Experiments3.1 Prompt Design3.2 Experimental Setup3.2.1 Datasets3.2.2 Baselines and Evaluation Metrics 3.3 Multilingual Translation3.4…

接入支付宝沙箱环境

1、这里有几个重要数据要拿到,一个是支付宝的公钥和私钥,一个是支付的网关,和支付的APPID。这几个数据是要写到代码中的 官方手册:文档地址 1.1 配置沙箱应用环境 https://openhome.alipay.com/develop/sandbox/app 1.2 配置接口…

Git忽略文件的几种方法,以及.gitignore文件的忽略规则

Git忽略文件的几种方法,以及.gitignore文件的忽略规则 .gitignore文件定义Git全局的.gitignore文件Git 忽略规则Git忽略规则的优先级.gitignore文件忽略规则常用匹配示例: 关于.gitignore规则不生效的问题 不忽略没有后缀名的文件搜索电脑里没有后缀的文…

请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨)为什么很多人说崖山海战以后无中国

目录 请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨) 为什么很多人说崖山海战以后无中国 请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨) 以下是我对《unravel - TK from 凛冽时雨》这首歌词的理解&#xff1…

Hadoop部署伪分布式

伪分布式模式也是只需要一台机器,但是与本地模式的不同,伪分布式使用的是分布式的思想,具有完整的分布式文件存储和分布式计算的思想。只不过在进行存储和计算的时候涉及到的相关的守护进程都运行在同一台机器上,都是独立的Java进…