特别声明:本文参考了博客:https://blog.****.net/lingan_Hong/article/details/88027975。
1.背景
由于项目需求,需要安装哈工大的NLP自然语言处理库——pyltp。根据官方git介绍的介绍:“语言技术平台(Language Technology Platform,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库(Dynamic Link Library, DLL)的应用程序接口、可视化工具,并且能够以网络服务(Web Service)的形式进行使用。”
2.安装
博主在安装这个库的时候,报了各种问题 ,试了网上的多种方法,折腾了蛮长时间,最后参考了博客的方法终于安装成功了。安装步骤如下:
1)git clone https://github.com/HIT-SCIR/pyltp
2) 从https://github.com/HIT-SCIR/ltp/releases下载Source Code并解压命名为ltp, 将整个文件夹拷贝到刚刚下载的pyltp下面。
3)cd pyltp
4)git submodule init
5)git submodule update
6)修改几个文件:
A.修改项目根目录下的:setup.py
文件120行这里,将Mac OS的版本号换为自己的本机版本号(博主的Mac OS版本号是10.14):
if not 'MACOSX_DEPLOYMENT_TARGET' in os.environ:
os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.14'
B.修改patch/libs/python/src/converter/builtin_converters.cpp
void* convert_to_cstring(PyObject* obj)
{
# 将该行换掉: return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
return (void *)(PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0);
}
C.修改ltp/thirdparty/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h的34行为:
// 将这一行换掉:template<typename T, typename Dimensions, int Options_> class TensorStorage;
template<typename T, typename Dimensions, int Options_, typename empty = void> class TensorStorage;
7)sudo pip3 setup.py install
如果看到下面的信息,恭喜,您已经成功安装好pyltp了。