如何便捷的安裝perl模塊

雖然perl面向對象能力偏弱,且perl6一直為人詬病,但是仍然有許多生物信息方面的軟件還是需要用到perl的

這就帶來了一個問題,有時候就會報錯,“缺少XX模塊”

也不得不承認perl安裝模塊不如python安裝便利,直接

如果linux環境里是python3,可以先查看pip位置是否指向你用的python3

python -m pip

如果想用linux里的python2,使用pip2安裝包,那么在pip2未安裝的情況下,可以:

wget?https://bootstrap.pypa.io/pip/2.7/get-pip.py

sudo python2 get-pip.py

python2 -m pip install PackageName

下面是一般的安裝方法,例如python3環境下安裝模塊

安裝:pip install PackageName

更新:pip install -U PackageName

移除:pip uninstall PackageName

搜索:pip search PackageName

乃至于在conda激活的環境中,pip直接就給安裝到當前環境下了,簡直不要太方便。

例如,我前幾天用QIIME1,想把biom格式轉為tsv,結果報錯,h5py找不到了。pip show h5py后,又能發現h5py就在服務器里,有點頭疼,不知道誰又動了環境變量。

就不管這個,直接

source activate qiime1

pip install h5py ? ? ? ? ? ? ? ? ? ? #裝到了當前conda 環境的lib/python2.7/site-packages下

conda deactivate

就能用了,很方便

perl的話就有點麻煩,雖然可以安裝perl-app-cpanminus,但是用cpanm安裝模塊的時候,由于環境變量的緣故,即便是在激活的conda環境中,它還是會安裝到PERL_LOCAL_LIB_ROOT PERL_MM_OPT PERL_MB_OPT 指向的位置,這里面有個安裝到當前環境的笨方法

source activate env_name

env PERL5LIB="" PERL_LOCAL_LIB_ROOT="" PERL_MM_OPT="" PERL_MB_OPT="" cpanm module_name

perl -e 'print join "\n",@INC' ? ?#查看所有模塊位置

conda deactivate

這樣的話,perl模塊就會安裝到激活的conda環境中,具體在/lib/site_perl/5.26.2

這個方法還是有些笨,我在跑QIIME2的時候發現,QIIME2也自帶了一個JSON的perl模塊,那么QIIME2是如何安裝的呢?仔細看了看QIIME2安裝的代碼,原來有一條

conda install perl-json

優秀優秀,還能這么安裝模塊,那么以后想裝的話,可以先試試

conda search perl-module_name

另外,查看已經安裝哪些perl模塊

不管有沒有root權限,都可以利用?cpanm 然后安裝 ExtUtils::Installed模塊,instmodsh可以查看安裝了哪些perl模塊,which instmodsh 查看它被安裝到哪里。

conda install perl-app-cpanminus

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容