Ansible の複数バージョンを virtualenv で管理する
- 2019 8/6
- カテゴリー : Configuration Management
- ansible . virtualenv
- コメントを書く
virtualenv で Ansible 複数バージョンをインストールする方法をご紹介します。
前提条件
- macOS v10.14.6
- Python 2.7 ではなく Python 3.7.3 を使う
$ 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 インストール
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 用の virtualenv 環境作成
ansible 最新版のインストール
まず、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)]
ansible 特定バージョンのインストール
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 環境を終了する
virtualenv の環境を終了するには deactivate コマンドを実行します。
(ansible2.7.12) $ deactivate
以上、複数バージョンの Ansible を切り替えて使いたい、現場からお送りしました。
参考情報
- virtualenvでAnsibleのバージョンを切り替える | DevelopersIO
- Virtualenv — virtualenv 16.7.2 documentation
- virtualenvwrapper 3.5 — virtualenvwrapper 3.5 documentation