CRF++安装
wget https://github.com/taku910/crfpp/archive/master.zip
unzip master.zip
cd crfpp-master
./configure
make
make install
cd python
python setup.py build
python setup.py install
安装过程中可能遇到的问题:
1. 执行make操作时,找不到winmain.的错误
sed -i '/#include "winmain.h"/d' crf_test.cpp
sed -i '/#include "winmain.h"/d' crf_learn.cpp
2. 执行import CRFPP时,遇到ImportError:libcrfpp.so.0: cannot open shared object file: No such file or directory
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定—prefix,则会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加/usr/local/lib这个目录。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错,也就是说系统不知道安装了源码包,针对该问题,一般有3种解决办法:
l 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /usr/local/lib/libcrfpp.so.0 /usr/lib/
ldconfig
l 修改/etc/ld.so.conf,然后刷新
echo "/usr/local/lib" >>/etc/ld.so.conf
ldconfig
l 修改LD_LIBRARY_PATH
如果共享文件安装到了非/lib或者非/usr/lib/中,同时又没有权限修改/etc/ld.so.conf,那么可以在.bashrc或者.bash_profile中,export一个全局变量LD_LIBRARY_PATH。
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
source .bashrc
source .bash_profile