0%

谈谈mac python3.7搭建HanLP环境时遇到的坑

系统:macos Catalina

环境:

​ — anaconda: Anaconda3-2019.07

​ — python: 3.7

​ — hanlp: v1.7.8

读到何晗《自然语言处理入门》的1.6节要安装开源工具HanLP,而HanLP的python接口由pyhanlp包提供,所以首先要下载pyhanlp,在pycharm的terminal中输入

1
% pip install pyhanlp

在安装JPype1包时报了一长串的错误,摘录其中关键的错误信息:

1
% command 'gcc' failed with exit status 1

应该是gcc的问题,遂一番百度,找到一个解决方法:https://cloud.tencent.com/developer/ask/209791

第一步首先安装gcc,输入

1
% conda install gcc

无奈一直卡在soving environment,试了网上的各种方法都没用,有的说这一步要等很长时间,但等了3分钟还在转,索性退出

我推测可能是anaconda的问题,卸了(参考从Mac中彻底删除Anaconda)后,重新去清华源下了Anaconda3-2019.07版本,当然python还是3.7

重新运行

1
% conda install gcc

这次没有在soving environment卡很久,但又报了新的错误:PackagesNotFoundError(晕)


之后查到的这篇文章完美解决问题:conda install Python库时报PackagesNotFoundError:的错误的解决方案

文章介绍的是windows下的操作方法,但在mac下同样适用

  1. 打开Anaconda Prompt(mac可在终端输入conda activate进入,前提是已在环境变量中添加conda),输入

    1
    % anaconda search -t conda gcc	//gcc是包名

    结果部分展示如下

    search

    一共找到了100条记录,每条记录都包含了包的版本、适用系统等信息

  2. 在其中选择适合的一条,这里一开始我选择的是gcc-5的包,接着在窗口中输入

    1
    % anaconda show Name		//Name为在上一步中查找出的包名一栏

    没想到后来安装时又出现了冲突的问题,想到应该是gcc版本的原因,只得选择其他版本,几经试探后最终选择asmeurer/gcc

    于是输入

    1
    % anaconda show asmeurer/gcc

    返回指定包的下载路径

    path

  3. 在窗口中输入下载指令

    1
    % conda install --channel https://conda.anaconda.org/asmeurer gcc

    gcc下载完毕!


重启pycharm后再输入

1
% pip install pyhanlp

提示缺少numpy包,这里先安装numpy后再输入上面的命令即可安装pyhanlp

根据书上的提示,在terminal中输入hanlp验证安装结果

第一次运行hanlp会下载数据包,数据包比较大,而终端内下载速度很慢可能下载失败,可以到数据预处理之文本处理——hanlp分词这篇文章下找到数据下载链接用迅雷下载

下载后无需解压,直接放到pyhanlp/static文件中。这里需要注意的是要将文件名的版本号改为和hanlp一致,我的hanlp版本是1.7.8而数据包是1.7.5,如果不改在pycharm运行hanlp会检测是否存在1.7.8版本的数据包,若没找到则仍会重新在终端下载数据包。

将数据包文件名版本号改为1.7.8后再运行hanlp则会识别数据包文件并自动解压

lp

接下来运行一条分词指令试试吧

result

可以看到分词效果不错,同时在每个词旁都标注了词性

done!

你的鼓励是我最大的动力 🙂