暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在CentOS6.x上安装fabric所遇到的坑及填坑

科学家的炼丹房 2017-08-11
293

因为一个项目的安装用的是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/pythonln -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(https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg)需要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(https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9),解压,执行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


文章转载自科学家的炼丹房,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论