在Centos6.X上安装fabric,以及安装过程中的填坑

因为一个项目的安装用的是fab python.py的方式,所以这次的任务是在比较老的系统centos6.8上安装fabric。

fabric对python的版本要求比较高,至少2.7+。而centos6.8默认是2.6。

 

安装步骤:

1.下载编译安装源码包的python

在编译之前先要做一些准备工作,否则后面可能遇到一些问题,这些坑已经填了,希望大家就不要再掉下去:

(1)安装openssl,openssl-devel,gcc-c++

(2)编辑Moudule/Setup.dist 中的以下几行:

#SSL=/usr/local/ssl 
#_ssl _ssl.c \ 
#-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ 
#-L$(SSL)/lib -lssl -lcrypto

将这几行的注释去掉(不然运行python xxx可能遇到 the ssl module in Python is not available 的错误

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

将这行的注释去掉(不然运行python xxx可能遇到 zlib not available的错误

(3)常规的几个编译安装动作

./configure --prefix=/usr/local/python2.7

make

make install

 

2.重新链接以下python的执行文件

ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7 --这个为后面安装setuptools做准备,不然会报错exec: python2.7: not found

 完成后,验证版本 python -V ,看是否是预期的2.7而非2.6

 

3.安装setuptools

后面安装pip需要setuptools,所以需要先安装,不然python setup.py install的时候可能会报错No module named setuptools。

下载 setuptools-0.6c11-py2.7.egg ,然后执行sh setuptools-0.6c11-py2.7.egg 即可

 

4.安装pip

下载 pip,解压,执行python setup.py install

安装好之后,重新链接以下pip的执行文件

ln -fs /usr/local/python2.7/bin/pip /usr/bin/pip

 

5.安装fabric的相应包

安装fabric需要一些依赖的python包,如paramiko等。

因为这次任务的环境是内网环境,故采用的办法是,先在外网找一个6.8的机器,然后用pip downloadonly fabric的方式,将相应的whl文件下载下来再拷贝到内网环境上。

最后执行 pip install Fabric-xxx-py2-none-any.whl即可

安装好之后,重新链接以下fab的执行文件

ln -fs /usr/local/python2.7/bin/fab /usr/bin/fab

安装完之后在linux下,执行下fab命令,看是否正常执行即可。

 

6.一些补充:

由于yum使用了原来python2.6的一些脚本,所以需要将yum重新指向原来的python2.6解释器才可以使用

修改/usr/bin/yum 将最上面的路径修改为: #!/usr/bin/python2.6

 

posted @ 2017-08-11 09:34  纳兹波蛋  阅读(291)  评论(0编辑  收藏  举报