virtualenv で Ansible 複数バージョンをインストールする方法をご紹介します。
$ python3 --version
Python 3.7.3
$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
virtualenv を pip3 でインストールします。
pip3 install virtualenv
pip3 install virtualenvwrapper
.bashrc or .zshrc に以下を追記します。
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
fi
$ source ~/.zshrc
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /Users/shigeoka/.virtualenvs/get_env_details
まず、ansible の最新版をインストールします。
mkvirtualenv ansible
(ansible) $ pip3 install ansible
(ansible) $ ansible --version
ansible 2.8.3
config file = None
configured module search path = ['/Users/shigeoka/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Users/shigeoka/.virtualenvs/ansible/lib/python3.7/site-packages/ansible
executable location = /Users/shigeoka/.virtualenvs/ansible/bin/ansible
python version = 3.7.3 (default, Mar 27 2019, 09:23:15) [Clang 10.0.1 (clang-1001.0.46.3)]
mkvirtualenv ansible2.7.12
(ansible2.7.12) $ pip3 install ansible==2.7.12
(ansible2.7.12) $ ansible --version
ansible 2.7.12
config file = None
configured module search path = ['/Users/shigeoka/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Users/shigeoka/.virtualenvs/ansible2.7.12/lib/python3.7/site-packages/ansible
executable location = /Users/shigeoka/.virtualenvs/ansible2.7.12/bin/ansible
python version = 3.7.3 (default, Mar 27 2019, 09:23:15) [Clang 10.0.1 (clang-1001.0.46.3)]
virtualenv の環境を終了するには deactivate コマンドを実行します。
(ansible2.7.12) $ deactivate
以上、複数バージョンの Ansible を切り替えて使いたい、現場からお送りしました。