? ? 近期需要用crf++做一些文本上的標(biāo)注任務(wù)绍填。安裝過程中碰到了一些問題霎桅,由于我是在公司服務(wù)器上安裝,沒有root權(quán)限讨永,情況相對特殊滔驶,網(wǎng)上少有對應(yīng)的資料。所以記錄一下這個過程住闯,為有需要的朋友包括我自己留下個參考瓜浸,另外這其中的部分原理我說不清澳淑,主要記錄的是操作步驟比原,原理以后如果能搞明白有時間再補(bǔ)上。
? ? 主要步驟:
? ? 1.在crf++官網(wǎng)下載好tgz的包(我的版本是0.58)之后杠巡,tar 解壓;
? ? 2.進(jìn)入解壓后的文件夾量窘,輸入命令'./configure --prefix=your_path' 因?yàn)闆]有root權(quán)限,所以需要重新指定安裝的路徑;
? ? 3.之后就是make & make install 這個時候氢拥,c++版本的就已經(jīng)編譯成功了;
? ? 4.接下來安裝python的接口蚌铜。cd 進(jìn)入python文件夾(就是解壓文件夾里的那個),輸入命令'python setup.py build' 本來應(yīng)該沒啥問題嫩海,但是出現(xiàn)了缺少crfpp.h的問題冬殃,就把外邊的crfpp.h復(fù)制進(jìn)來'cp ../crfpp.h ./',再輸入命令'python setup.py build'又出現(xiàn)錯誤:
? ? 這個錯誤就是我寫這篇文章的主要原因叁怪,因?yàn)?usr/bin/ld: cannot find -lxxx 的錯誤網(wǎng)上的主要解決方法是修改/usr/lib 下的相對應(yīng)的函式庫文件审葬。而我沒有對應(yīng)的權(quán)限,所以一直沒有build成功奕谭,不過在看了stackoverflow的解決方法后涣觉,將對應(yīng)之前編譯好的文件夾下lib文件夾中的libcrfpp.so的鏈接復(fù)制到我的python的lib文件夾下,問題就解決了血柳。
? ? 5.python setup.py install官册,打開python然后import CRFPP試試,不報錯就算是成功了难捌。如果報錯的話膝宁,也可以根據(jù)錯誤信息去百度或者google了。?
OK根吁,干正經(jīng)活吧员淫。
不過后來之前的同事,告訴我可以在第一步時婴栽,直接裝在~/.local文件夾下即:'./configure --prefix=~/.local'满粗,就不會有這樣的問題了?愚争?以后試試吧映皆。