资讯专栏INFORMATION COLUMN

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

HackerShell / 404人阅读

摘要:背景在下安装的时候,总是安装不成功,在执行命令的时候,总是会抛出错误。解决方案安装替代系统默认的再安装包系统默认自带的版本是下载安装包在的官网下载页面下载的源码包。在下安装就省事很多。附上执行简单部署的一份代码例子,仅供参考。

背景

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

Traceback (most recent call last):
  File "/usr/bin/fab", line 5, in 
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in 
    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()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17351.html

相关文章

  • Django 博客开发教程 15 - 使用 Fabric 自动化部署

    摘要:使用可以在服务器中自动执行命令。重启和使改动生效。执行自动部署脚本进入文件所在的目录,在的环境下用命令运行这个脚本文件。在使用自动化部署的评论区留言。 在 使用 Nginx 和 Gunicorn 部署 Django 博客 中,我们通过手工方式将代码部署到了服务器。整个过程涉及到十几条命令,输了 N 个字符。一旦我们本地的代码有更新,整个过程又得重复来一遍,这将变得非常繁琐。 使用 Fa...

    haobowd 评论0 收藏0
  • Hyperledger Fabric(入门)

    摘要:脚本列出了在结束时安装的映像。在不同的体系结构,将用标识体系结构的字符串替换。提供了许多来支持各种编程语言,官方发布了两款针对和的和文档。。 入门 在我们开始之前,如果你还没有这样做,你可能希望检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有前提条件。 一旦安装了前提条件,就可以下载并安装HyperLedger Fabric了,当我们在F...

    SKYZACK 评论0 收藏0
  • 联盟链初识以及Fabric环境搭建流程

    摘要:本文首发于深入浅出区块链社区原文链接联盟链初识以及环境搭建流程原文已更新,请读者前往原文阅读这篇文章首先简单介绍了联盟链是什么,再详细的介绍了环境搭建的整个流程。 本文首发于深入浅出区块链社区原文链接:联盟链初识以及Fabric环境搭建流程原文已更新,请读者前往原文阅读 这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程。 区块链分类: 以参与方式分类,区...

    CoffeX 评论0 收藏0
  • SSH连接与自动化部署工具paramiko与Fabric

    摘要:是基于实现的远程安全连接,支持认证及密钥方法。利用函数发送到,通过函数获取回显。如下全局属性设定对象的作用是定义的全局设定,支持多个属性及自定义属性。相比确实简化了不少。出现异常时,发出警告,继续执行,不要终止。 paramiko paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法。可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect...

    ermaoL 评论0 收藏0

发表评论

0条评论

HackerShell

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<