linux环境下python库模块安装


今天要在一台线上服务器上部署一个python脚本,其中用到了MySQLdb,各种尝试下载源码(各种依赖库的相互不兼容),get/yum(这linux真纯净啊 这俩都没法用)安装,wget下载rpm包也连不上外网,都失败了,而且libmysqlclient-dev 和MySQL-python 都不太好找,各自还有很多版本,也是各种互相版本不兼容。。

最终找到了可用的版本就是

ftp://rpmfind.net/linux/centos/6.6/os/x86_64/Packages/MySQL-python-1.2.3-0.3.c1.1.el6.x86_64.rpm

http://archive.debian.net/zh-cn/etch/amd64/libmysqlclient15-dev/download

将这两个软件包wget到一台服务器上,用alien 将deb格式转换成rpm格式,将两个rpm包 rsync -avzP 到线上服务器,再 按顺序rpm -ivh 二者,OK了就

然后发现redis-python也没有,这次采取同样的方式就不行了,安装redis-py 依赖 redis 依赖 rpm-helper 依赖 system-units........无穷尽啊

而且在rpmfind上下下来的这些rpm没一个成功的,不是依赖库没有就是版本要>=。

就两种安装软件的方式 ,一条路已经绝望了就果断改为编译源码吧:

下载 redis-py-2.7.1.tar.gz:

http://download.chinaunix.net/down.php?id=44261&ResourceID=13387&site=1

tar -xvf 之,然后cd进去make,没错,make install 还没错?在python里import redis试试,还是没错?!恩 看来搞定了

使用alien工具转换deb格式到rpm格式

alien_8.87.tar.gz

下载alien_8.87.tar.gz

[root@mysqlnode2 ~]# wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.87.tar.gz

[root@mysqlnode2 ~]# tar zxvf alien_8.87.tar.gz

[root@mysqlnode2 ~]# cd alien

[root@mysqlnode2 alien]# perl Makefile.PL

[root@mysqlnode2 alien]# make

[root@mysqlnode2 alien]# make install

转换libnet0-dev_1.0.2a-7_i386.deb到libnet0-dev-1.0.2a-8.i386.rpm

[root@mysqlnode2 ~]# alien -r libnet0-dev_1.0.2a-7_i386.deb

Warning: Skipping conversion of scripts in package libnet0-dev: postinst prerm

Warning: Use the --scripts parameter to include the scripts.

libnet0-dev-1.0.2a-8.i386.rpm generated

安装rpm包

[root@mysqlnode2 ~]# rpm -ivh libnet0-dev-1.0.2a-8.i386.rpm

相关内容