Perl及R及python模块碎碎念

老实说,模块其实是一个很讨厌的东西,但是它也实实在在的节省了我们很多时间,也符合我的理念:避免重复造轮子!此教程可能过期了,请直接看最新版(perl模块安装大全)

1,perl的那些模块

如果有root权限,用root权限

进入cpan然后install ExtUtils::Installed模块

这样就可以执行instmodsh这个脚本了,可以查看当前环境下所有的模块

Perl及R及python模块碎碎念178

当然也可以写出脚本来查询模块信息

[perl]

#!/usr/bin/perl

use strict;

use ExtUtils::Installed;

my $inst= ExtUtils::Installed->new();

my @modules = $inst->modules();

foreach(@modules)

{

my $ver = $inst->version($_) || "???";

printf("%-12s -- %s\n", $_, $ver);

}

exit 0;

[/perl]

然后我顺便安装了几个我比较喜欢的模块,Net::Telnet,Net::POP3

安装的时候可以看到我们的perl模块都是安装在/usr/local/lib/perl/5.18.2里面的,还有这个目录/usr/local/share/perl/5.18.2/

其实可以直接查看@INC这个默认变量,perl -e '{print "$_\n" foreach @INC}'

Perl及R及python模块碎碎念646

就知道自己的perl安装在哪些位置了

 

万一没有root权限,那么除非是管理员安装了那些模块,否则很多都是不能用的,那么自己要想安装,就必须自己也用cpan,但是cpan只会把模块安装到自己的目录下面,那么每次使用这个模块都必须添加该模块到@INC这个变量里面,这样perl程序才能找到你自己安装的模块,如果是非root用户,使用cpan,那么一般会创建/home/yourname/.cpan这个隐藏目录下面存储个人的perl模块。

use lib '/home/your-home/perl_lib';

因为有cpan,安装模块也是非常方便的。

我测试了一下,install GD模块

Perl及R及python模块碎碎念1142

擦,好像这个模块安装不了,真奇怪,还需要root权限!可我记得我在前面的服务器没有root权限也安装过一些自己的包,好奇怪呀,可能是这个包的要求比较高吧!我之前安装成功过好几个包Mail-POP3Client等等。

那自己安装模块就只能下载源码包,随便安装后,添加目录到@INC了

2,R的包

如果有root权限,那么直接进入R,里面

> .libPaths()

[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"

[3] "/usr/lib/R/library"

这样就可以看到自己的R包都放在哪些目录下面,这样也可以进去查看这些目录里面的包。

另外一个命令,可以查看本机安装的R包有哪些!installed.packages()[,1]

Perl及R及python模块碎碎念1508

安装一个包也是非常简单的!

但是,如果没有root权限,也是很简单的,同样的install.packages即可,可以创建一个私人的R包存放目录。

~/R/x86_64-pc-linux-gnu-library/3.1

但是R包安装有时候会出现这种错误,但是只出现一次,所以一般是高手解决了。

R包安装 had non-zero exit status,解决方法是

apt-get install  tcl-dev tk-dev

sudo apt-get install libxml2-dev & sudo apt-get install libcurl4-openssl-dev

R这个东西,我个人是不怎么用的,因为数据处理的脚本都是用perl,也就用bioconductor的R包来画一些图,不然就是自己用ggplot2包画一些漂亮的图,但是是在windows平台的,不会在linux平台下面画图的,太麻烦了!

3、python模块安装

一.有root权限那一切好办啦!

直接下载包,然后进入,输入

python setup.py install的前提是你安装了 setuptools 工具

Traceback (most recent call last):

File "setup.py", line 6, in <module>

from setuptools import setup, Extension

ImportError: No module named setuptools

解决方法是apt-get install python-setuptools

当然只有在ubuntu才有这么高效啦!但是我还报错了

fatal error: Python.h: No such file or directory

重新搜索了一下,需要apt-get install python2.7-dev

安装这个python的库文件,里面才有python.h这个文件啦

也是全自动化完成啦!

Unpacking libpython2.7-dev:amd64 (2.7.6-8) ...

Selecting previously unselected package python2.7-dev.

Preparing to unpack .../python2.7-dev_2.7.6-8_amd64.deb ...

Unpacking python2.7-dev (2.7.6-8) ...

Processing triggers for man-db (2.6.7.1-1) ...

Setting up libpython2.7-dev:amd64 (2.7.6-8) ...

Setting up python2.7-dev (2.7.6-8) ...

然后终于不报错啦!!!!Python这个东西真难玩,我还是喜欢perl

Using /usr/lib/python2.7/dist-packages

Finished processing dependencies for rpy2==2.5.6

Python的模块都安装在/usr/lib/python2.7/dist-packages这个目录下面

 

二.没有root权限,就把python安装到自己的模块!安装之后就会增加一个.local目录,存放着python的模块。

 

Perl及R及python模块碎碎念2823

 

但是如果是自己目录安装python模块需要修改~/.bashrc这个文件,并且

export PYTHONPATH=$PYTHONPATH:/my/other/path

这样在python里面才能调用这个模块。

 

 

 

 

 

 

 

 

 

 

 

 

2 thoughts on “Perl及R及python模块碎碎念

  1. python 的包是通过 pip easy_install 装的。搞科学必装 numpy matplotlib spicy 三个库。