ansible安裝配合Virtualenv

ansible安裝

  • 讓項目運行在一個獨立的局部的 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安裝完成

相關文章
相關標籤/搜索