在Centos6.3安装Python Fabric运行环境

发布时间:2019-08-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在Centos6.3安装Python Fabric运行环境脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

CentOS6.3下安装fabric的时候,总是安装不成功,在执行fab命令的时候,总是会抛出错误。

Traceback (most recent call last):
  File "/usr/bin/fab", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: paramiko>=1.10

解决方案

安装Python2.7替代系统默认的Python2.6,再安装fabric

Centos6.3系统默认自带Python版本是2.6.

1、下载Python2.7安装包
Python的官网下载页面下载2.7的码包。

wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz

2、解压,编译,安装

xz -d Python-2.7.8.tar.xz
tar xvf Python-2.7.8.tar
cd Python-2.7.8
./configure --PRefix=/usr/local/python2.7
make
make install 

3、创建软连接覆盖系统默认的python

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

系统的yum依赖于python2.6,此时系统默认的python已经是2.7.*版本,要确保yum正常运行,务必修改/usr/bin/yum

vi /usr/bin/yum

将第一行的#!/usr/bin/python改为#!/usr/bin/python2.6

4、安装pip包管理工具

pip是一个安装和管理python包的工具.

wget https://raw.github.COM/pypa/pip/master/contrib/get-pip.py
python get-pip.py
ln -fs /usr/local/python2.7/bin/pip /usr/bin/pip

5、安装fabric

pip install fabric
ln -fs /usr/local/python2.7/bin/fab /usr/bin/fab

到这里fabric就安装完成了,可以正常运行了,折腾了好久,终于搞好了。~~~在ubuntu下安装fabric就省事很多。


附上执行简单部署的一份代码例子,仅供参考。

# -*- coding: utf-8 -* 
#添加中文注释的编码 
#fabfile.py
from fabric.api import *

env.user = 'root'
env.hosts = ['192.168.1.100']
#远程服务器的密码,这个建议不要填写,宁愿在运行的过程输入,因为这是明文显示的,不安全
#也可以将机子的ssh打通,这样就可以避免输入密码的麻烦
#env.password = 'testtest'

#从版本库取出,并删除.svn文件
def download():
    local('rm -rf /tmp/newer' )
    local('mkdir /tmp/newer')
    local('svn checkout svn://localhost/newer /tmp/newer')
    local('find /tmp/newer -name ".svn" | xargs rm -rf')

#压缩打包
def pack():
    with lcd('/tmp/'):
         local('tar czvf newer.tar.gz ./newer')

#部署远程服务器目录结构
def display():
    run('rm -rf /VAR/www/htML/tmp')
    run('mkdir /var/www/html/tmp')
    # 将本地的压缩包发送到远程服务器
    put('/tmp/newer.tar.gz','/var/www/html/tmp')

    with cd('/var/www/html/tmp'):
         run('tar xvf newer.tar.gz')

    #都部分目录进行特别处理
    with cd('/var/www/html/newer/public/'):
         run('cp -r ueditor ../../tmp')

    with cd('/var/www/html/'):
         run('rm -rf newer')
         run('cp -r /var/www/html/tmp/newer ./')

    with cd('/var/www/html/newer/public'):
         run('rm -rf ueditor')
         run('cp -r /var/www/html/tmp/ueditor ./')

# 执行部署
def go():
    download()
    pack()
    display()

脚本宝典总结

以上是脚本宝典为你收集整理的在Centos6.3安装Python Fabric运行环境全部内容,希望文章能够帮你解决在Centos6.3安装Python Fabric运行环境所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。