讓項目運行在一個獨立的局部的 Python 環境中,使採用不一樣環境的項目互不干擾。python
yum安裝:linux
安裝EPEL源git
yum install epel-release yum install ansible
編譯安裝:github
yum-y install python-jinja2 PyYAML python-paramiko python-babel python-crypto tar xf ansible-1.5.4.tar.gz cd ansible-1.5.4 python setup.py build python setup.py install mkdir/etc/ansible cp-r examples/*/etc/ansiblel
Git方式:(我是用的這種)babel
使用python自帶的python virtualenv工具隔離Python3.六、Ansible和系統其餘python環境。curl
編譯安裝python3.6.5函數
[root@localhost ~]# wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz工具
[root@localhost ~]# tar xf Python-3.6.5.tar.xz網站
[root@localhost ~]# cd Python-3.6.5ui
安裝編譯所需的依賴
[root@localhost Python-3.6.5]# yum install -y gcc zlib* openssl*
開始編譯
[root@localhost Python-3.6.5]# ./configure --prefix=/usr/local/ --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
--prefix=/usr/local/ ---指定安裝路徑 --with-ensurepip=install ----安裝pip --enable-shared ---disable/enable building shared python library 啓用共享函數構建的庫 LDFLAGS="-Wl,-rpath /usr/local/lib" ----Wl 將後面跟的參數傳遞給鏈接器 ld;-rpath 添加運行時庫的搜索路徑 現代linux的發行版配置的python都是編譯成share library方式,有些第三方軟件如mod_wsgi和Blender必需要這樣才能正常運行。可是,若是把python編譯成share library,就必須告知如何才能找到這個library。有兩種辦法達到這個目的: 經過在configure命令的最後加入LDFLAGS="-Wl,-rpath /usr/local/lib"選項把路徑編譯到可執行文件裏面去
接下來安裝
[root@localhost Python-3.6.5]# make && make altinstall,輸入echo $?查看命令是否執行成功
安裝virtualenv
[root@localhost Python-3.6.5]# cd /usr/local/bin/
[root@localhost bin]# ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip
[root@localhost bin]# pip install virtualenv ,速度有點慢安裝過程當中,若是出現以下 error 信息是,能夠嘗試切換源從新下載
切換清華源 pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
安裝成功後,建立ansible帳戶
[root@localhost ~]# useradd deploy
切換到deploy用戶
[root@localhost ~]# su - adeploy
安裝python3.6virtualenv實例
[deploy@localhost ~]$ virtualenv -p /usr/local/bin/python3.6 .py3-a2.10-env
Already using interpreter /usr/local/bin/python3.6 Using base prefix '/usr/local' New python executable in /home/deploy/.py3-a2.5-env/bin/python3.6 Also creating executable in /home/deploy/.py3-a2.5-env/bin/python Installing setuptools, pip, wheel... done.
Git源碼安裝ansible最新版
使用root帳戶安裝nss curl
[root@localhost ~]# yum install nss curl -y
而後切到deploy用戶,進入以前建立的.py3-a2.5-env目錄下,克隆ansible源碼
[root@localhost ~]# su - deploy
[deploy@localhost ~]$ cd /home/deploy/.py3-a2.5-env/
[deploy@jenkins .py3-a2.5-env]$ git clone https://github.com/ansible/ansible.git
克隆慢解決方法
去這個網站註冊帳號https://gitee.com/,點擊導入,等幾分鐘就下載好了
而後複製地址下載便可[deploy@jenkins .py3-a2.5-env]$ git clone https://gitee.com/wengsh/ansible.git
下載完成後,加載python3.6 virtualenv環境
[deploy@jenkins .py3-a2.5-env]$ source /home/deploy/.py3-a2.5-env/bin/activate
(.py3-a2.5-env) [deploy@jenkins .py3-a2.5-env]$
接下來安裝ansible依賴包
(.py3-a2.5-env) [deploy@jenkins .py3-a2.5-env]$ pip install paramiko PyYAML jinja2
在python3.6虛擬環境下加載ansible2.5
(.py3-a2.5-env) [deploy@jenkins ansible]$ source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
查看ansible版本
(.py3-a2.5-env) [deploy@jenkins ansible]$ ansible --version
ansible 2.10.0.dev0
config file = None
configured module search path = ['/home/deploy/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/deploy/.py3-a2.5-env/ansible/lib/ansible
executable location = /home/deploy/.py3-a2.5-env/ansible/bin/ansible
python version = 3.6.5 (default, Jan 31 2020, 17:16:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
到此,ansible安裝完成