CRF++的python接口安装方法及碰到的问题

    近期需要用crf++做一些文本上的标注任务。安装过程中碰到了一些问题,由于我是在公司服务器上安装,没有root权限,情况相对特殊,网上少有对应的资料。所以记录一下这个过程,为有需要的朋友包括我自己留下个参考,另外这其中的部分原理我说不清,主要记录的是操作步骤,原理以后如果能搞明白有时间再补上。

    主要步骤:

    1.在crf++官网下载好tgz的包(我的版本是0.58)之后,tar 解压;

    2.进入解压后的文件夹,输入命令'./configure --prefix=your_path' 因为没有root权限,所以需要重新指定安装的路径;

    3.之后就是make & make install 这个时候,c++版本的就已经编译成功了;

    4.接下来安装python的接口。cd 进入python文件夹(就是解压文件夹里的那个),输入命令'python setup.py build' 本来应该没啥问题,但是出现了缺少crfpp.h的问题,就把外边的crfpp.h复制进来'cp ../crfpp.h ./',再输入命令'python setup.py build'又出现错误:

CRF++的python接口安装方法及碰到的问题_第1张图片

    这个错误就是我写这篇文章的主要原因,因为/usr/bin/ld: cannot find -lxxx 的错误网上的主要解决方法是修改/usr/lib 下的相对应的函式库文件。而我没有对应的权限,所以一直没有build成功,不过在看了stackoverflow的解决方法后,将对应之前编译好的文件夹下lib文件夹中的libcrfpp.so的链接复制到我的python的lib文件夹下,问题就解决了。

    5.python setup.py install,打开python然后import CRFPP试试,不报错就算是成功了。如果报错的话,也可以根据错误信息去百度或者google了。 

OK,干正经活吧。

不过后来之前的同事,告诉我可以在第一步时,直接装在~/.local文件夹下即:'./configure --prefix=~/.local',就不会有这样的问题了??以后试试吧。

你可能感兴趣的:(CRF++的python接口安装方法及碰到的问题)