一.升级python


笔者系统为centos6.5,系统默认安装python2.6,虽然ansible官方文档要求python版本为2.6或2.7,然而许多人都说使用2.6可能出现一系列问题,所以作者决定将2.6升级为2.7以避免不必要的麻烦。

python下载地址:https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz -P /download
cd /download
tar xf Python-2.7.13.tgz -C tmp/
cd tmp/Python-2.7.13
./configure --prefix=/usr/local/python2.7
make && make install yum install gcc gcc-c++ openssl-devel zlib zlib-devel -y
./configure --prefix=/usr/local/
make && make install
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python python -V #查看版本信息已经不是Python 2.6.6了
Python 2.7.13  

*注:python升级后yum不能使用?

查看yum命令脚本可以发现yum使用的解释器是系统默认的python,而默认python(/usr/bin/python)已经被重命名为python2.6.6(/usr/bin/python2.6.6)了,所以我们只需要把yum脚本中的
#!/usr/bin/python 改为 #!/usr/bin/python2.6.6 即可

二.安装pip


pip 是python软件包的安装和管理工具, 有了这个工具, 我们只需要一个命令就可以轻松的python 的任意类库。有点类似于centos中的yum

下载地址:https://pypi.python.org/pypi/pip

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 -P /download/
tar xf /download/pip-9.0.1.tar.gz -C /download/tmp
cd /download/tmp/pip-9.0.1
python setup.py install  

安装过程中可能报错:

[root@xiamihost2 pip-9.0.1]# python setup.py install
Traceback (most recent call last):
File "setup.py", line 6, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools
#大概意思是说缺少setuptools这个模块,没有就安装嘛!下载地址:https://pypi.python.org/pypi/setuptools

setuptools 是 Python 的基础包工具,和pip类似,可以帮助我们轻松的下载,构建,安装,升级,卸载 python的软件包。

wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac -P /download
unzip /download/setuptools-36.2.7.zip -d /download/tmp/
cd /download/tmp/setuptools-36.2.7/
python setup.py install
#setuptools需要zlib模块,否则报错: "Compression requires the (missing) zlib module"
yum install zlib zlib-devel -y
#再重新安装python,安装完成后继续安装setuptools、pip

三.从源码安装ansible 


安装ansible控制主机需要的python模块,顺道检验下pip命令是否安装成功 

pip install paramiko PyYAML Jinja2 httplib2 six

笔者通过git下载的所有库都放在/opt目录下

git clone git://github.com/ansible/ansible.git --recursive
cd /opt/ansible
source ./hacking/env-setup

第一条ansible命令

编辑(或创建)/etc/ansible/hosts 并在其中加入一个或多个远程系统.你的public SSH key必须在这些系统的``authorized_keys``中

#mkdir /etc/ansible
#vim /etc/ansible/hosts 192.168.119.132

  

ansible all -a "/bin/mkdir /opt/hehe" -k

查看192.168.110.132机器的/opt目录下是否生成hehe目录  

 


进入python交互模式后,无法使用退格和方向键

 pip install readline

#然而,竟然报错:/usr/bin/ld: cannot find -lncurses
yum install ncurses-devel ncurses-static -y
pip install readline 一切ok

  

  

 

  

  

  

ansible源码安装的更多相关文章

  1. ansible源码安装、普通用户实现批量控制

    一.ansible简介 ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行 ...

  2. 源码安装Ansible

    一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...

  3. Linux 源码安装Ansible 参考篇

    Ansible 源码搭建配置 近期在学习自动化运维相关技术,文章主要模拟内网情况下对Ansible的安装演示,源码安装较为繁琐.枯燥,尤其是在实际安装过程中可能出现各式各样的问题,所有在安装过程中尽量 ...

  4. ansible源码解读

    Ansible源码获取 Ansible Github:https://github.com/ansible Ansible目录结构 $ tree -L 2 ansible-2.0.0.0 ansibl ...

  5. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  6. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  7. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  8. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  9. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

随机推荐

  1. Java知多少(93)鼠标事件

    鼠标事件的事件源往往与容器相关,当鼠标进入容器.离开容器,或者在容器中单击鼠标.拖动鼠标时都会发生鼠标事件.java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionL ...

  2. Java如何匹配列表中的电话号码?

    在Java编程中如何匹配列表中的电话号码? 以下示例显示如何使用phone.matches(phoneNumberPattern)方法将列表中的电话号码与指定模式相匹配. package com.yi ...

  3. tmux常用配置

    首先创建配置文件 $ touch ~/.tmux.conf 一,鼠标支持 对于version 2.1 (18 October 2015)之后的版本,编辑配置文件.tmux.conf, 保存即可. se ...

  4. MAC下Myeclipse SVN插件安装

    1.下载SVN插件包:http://download.csdn.net/detail/frankyanchen/4512899 2.在myeclipse文件夹下创建一个文件夹为svntool并复制下载 ...

  5. swoole 定时器

    timer.php <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = ); swoole_timer_tick(, function ($timer ...

  6. 年关将至业内警示P2P跑路风险

    年关将近,P2P网贷行业的问题平台亦不断增多,“跑路潮”会否再现,业内人士讨论热烈. “从历年数据统计来看,问题平台接近线性向上的增长趋势,即时间越往后,问题平台占比就越高,而每逢年关,问题平台占比都 ...

  7. ThinkPHP框架 自定义 Empty 方法保护本地信息不被暴露!!!

    在使用ThinkPHP框架开发过程中,在每个Controller文件夹里面都要设置一个空控制器,用来保护本地信息不被泄露(EmptyController.class.php) 此方法很有效的隐藏系统内 ...

  8. 洛谷P1141 01迷宫【bfs】

    题目链接:https://www.luogu.org/problemnew/show/P1141 题意: 有一个填了0和1的n*n的格子,只能0走到1,1走到0 有m组询问(数据量是1e5),问某一个 ...

  9. 单链表实现n(n≥20)的阶乘

    n(n≥20)的阶乘 基本要求 数据的表示和存储: 累积运算的中间结果和最终的计算结果的数据类型要求是整型--这是问题本身的要求. 试设计合适的存储结构,要求每个元素或结点最多存储数据的3位数值. 数 ...

  10. [No0000E6]C# 判断与循环

    判断语句 语句 描述 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成. if...else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 ...