在服务器上安装fabric远程部署项目

检查Python版本

有一些服务器预装的操作系统的Python版本是2.6的,fabric是不支持的,所以我们需要更新服务器是Python版本为2.7。

更新Python为2.7

安装linux常用支持库
这一步除了给Python解决编译依赖,后面编译其他软件也可能比较需要。

#yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel readline-devel

下载并解压Python

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar -zxvf Python-2.7.13.tgz

编译安装

cd Python-2.7.13
./configure --prefix=/usr/local/python
make && make install

备份原版本并覆盖
因为新版本是链接过去,所以/usr/local/python是不能删除的

mv /usr/bin/python /usr/bin/python2.6 
ln -sf /usr/local/python/bin/python /usr/bin/python

解决Yum兼容
修改/usr/bin/yum文件的第一行配置代码

#!/usr/bin/python #原代码
#!/usr/bin/python2.6 #修改与备份文件一样的名称    

参考教程
Linux CentOS-6.5 Python升级安装

安装pip

下载
亲测由于没有代理的原因速度相当慢
官网软件地址

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

安装

python get-pip.py 

创建链接到bin库
注意目录要与之前安装的Python一直

ln -s /usr/local/python/bin/pip /usr/bin/pip

安装fabric

安装

pip install fabric    

创建链接到bin库

 ln -s /usr/local/python/bin/fab /usr/bin/fab

注意在Mac上安装这个库时,由于mac自带了Python,fab所在的路径有所不同,参考文章Mac Python路径总结 , 在Mac下链接应用以下命令

ln -s /Library/Python/2.7/site-packages/fab /usr/bin/fab

修改Requirements.py文件

在实际测试中,发现常规代码报错,于是stackoverflow上发现此问题的解决方法
问题链接
在mac上,找到该文件并打开

vim /Library/Python/2.7/site-packages/packaging/requirements.py

修改如下,去掉括号

#MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
MARKER_EXPR = originalTextFor(MARKER_EXPR)("marker")

保存修改并退出即可

使用fabric库

由于fabric配置安装好后,使用起来不是非常复杂,下面有篇博文写的非常好,链接我贴上了,这里不过多赘述。
Python远程部署利器Fabric详解

2017-05-07 14:46 104
Comments
Write a Comment