前言
普通用戶安裝軟件時的麻煩之處就在於沒有權限,不能用rpm或yum直接安裝,安裝完了還得添加環境變量,或者在後續模塊安裝時指定前置模塊/庫的位置。在這種前提下,安裝ROUGE可以說是非常麻煩了。我的安裝之路就極爲坎坷,經知乎上一位答主的回答點播,我走上了perlbrew+cpanm的正確道路,但這還遠不能解決我安裝ROUGE的所有問題。現在我就把我的安裝流程分享給大家,希望可以有點幫助。
系統
CentOS7
安裝流程
Perlbrew -> Perl5 -> cpanm -> Perl的各種模塊 -> ROUGE -> pyrouge
具體安裝過程
1. Perlbrew -> Perl5 -> cpanm
參考:(很詳細)
https://www.howtoing.com/how-to-install-perlbrew-and-manage-multiple-versions-of-perl-5-on-centos-7/
2. 安裝Perl的各種模塊
模塊包括:XML::Parser,XML::RegExp,LWP::UserAgent,XML::Parser::PerlSAX,XML::DOM,DB_File(這些,包括ROUGE,的源碼包都可以在這一節的參考文章裏提供的地址下載)。
其中XML::Parser在安裝時需要Expat,而在Expat安裝後還是不能通過cpanm直接安裝XML::Parser,可以用其源代碼自行安裝(需要指定EXPATLIBPATH和EXPATINCPATH(樣例如下)。
[xxx@localhost xxx]$ perl Makefile.PL PREFIX=/home/<usrname>/perl5/perlbrew/perls/perl-5.28.1 EXPATLIBPATH=/home/<usrname>/perl5/perlbrew/perls/perl-5.28.1/lib EXPATINCPATH=/home/<usrname>/perl5/perlbrew/perls/perl-5.28.1/include
[xxx@localhost xxx]$ make
[xxx@localhost xxx]$ make test
[xxx@localhost xxx]$ make install
XML::RegExp,LWP::UserAgent,XML::Parser::PerlSAX,XML::DOM這幾個包可以通過cpanm直接安裝。
接下來是DB_File,這個包在安裝之前需要先安裝libdb-dev,可以通過如下命令查看服務器裏是否已經安裝。
[xxx@localhost xxx]$ rpm –ql libdb
注意:
服務器裏可能只裝了libdb,而這個是libdb-dev的dependency,可以從網上下載rpm安裝包,自行安裝至$HOME目錄下(直接解壓出來),指令爲
[xxx@localhost xxx]$ rpm2cpio libdb-5.3.21-24.el7.x86_64.rpm |cpio -idvm
[xxx@localhost xxx]$ rpm2cpio libdb-devel-5.3.21-24.el7.x86_64.rpm |cpio –idvm
之後使用DB_File的源碼進行安裝。首先找到源碼目錄中的config.in文件,按照其中的說明,更改路徑(以及,如果有必要(比如安裝了多個libdb,對應的路徑下的.so文件的名字不是libdb.so),還需要更改libdb的名字(注意:不包括.so))。
INCLUDE = /home/<usrname>/usr/include
LIB = /home/<usrname>/usr/lib64
然後
[xxx@localhost xxx]$ perl Makefile.PL PREFIX=/home/<usrname>/perl5/perlbrew/perls/perl-5.28.1
[xxx@localhost xxx]$ make
[xxx@localhost xxx]$ make test
[xxx@localhost xxx]$ make install
參考:
https://blog.csdn.net/wr339988/article/details/70165090
注意:
自己用源碼安裝的模塊,在後續測試時可能找不到,需要在~/.bashrc(或~/.bash_profile)里加入其位置的路徑(更改完.bashrc要source一下,更改完.bash_profile要重新登錄一下)
export PERL5LIB=$HOME/…:$PERL5LIB
3. ROUGE
下載ROUGE的壓縮包,解壓(到任意位置),在~/.bashrc(或~/.bash_profile)里加入
export ROUGE_EVAL_HOME=$ROUGE_EVAL_HOME:/directory/to/RELEASE-1.5.5/data
比如我的是
export ROUGE_EVAL_HOME=$ROUGE_EVAL_HOME:$HOME/open_source_code/ROUGE-RELEASE-1.5.5/data
更改runROUGE-test.pl和ROUGE-1.5.5.pl這兩個文件的第一行#!後面的部分爲自己目前所用的perl的位置(用which perl查看)。最後
[xxx@localhost xxx]$ perl runROUGE-test.pl
參考:
https://blog.csdn.net/wr339988/article/details/70165090
https://github.com/summanlp/evaluation/tree/master/ROUGE-RELEASE-1.5.5
4. pyrouge
這個安裝就很容易了,可以看github上的README文件,或者這篇教程
https://blog.csdn.net/Hay54/article/details/82424599
https://github.com/bheinzerling/pyrouge
最後
因爲ROUGE的安裝過於麻煩,github上現在有一個新的pyrouge,功能比原來的pyrouge少一些,我還沒用過,大家可以去試一試
https://github.com/andersjo/pyrouge
其他參考文章:
https://laibulai.iteye.com/blog/1674386
https://www.cnblogs.com/yangtze736-2013-3-6/p/3532798.html
https://www.oschina.net/question/12_4298
https://blog.csdn.net/baidu_38741636/article/details/79242977
http://www.cnblogs.com/xianghang123/archive/2012/08/23/2652806.html(這個稍微有點問題,比如應該是PREFIX=...或--prefix=...,後面export的的格式貌似也不太對)
https://www.e-learn.cn/content/wangluowenzhang/920066