Ansible 1.X和Ansible 2.X的共存

使用Ansible 2.0时发生错误。。

使用brew安装的ansible版本为2.0,导致之前创建的playbook出现错误。由于1.X系列和2.X系列有一些变化,因此需要使用两个环境。

删除现有的ansible。

删除使用brew安装的ansible2.0。

$ brew uninstall ansible --force

安装pyenv-virtualenv

    • pyenv

 

    • 複数バージョンのPythonをインストールして切り替えられる

 

    • pyenv-virtualenv

 

    同じバージョンのPythonで複数環境を切り替えできるpyenvのプラグイン
$ brew install pyenv-virtualenv
$ pyenv versions
* system (set by /Users/hoge/.pyenv/version)

只安装pyenv不会显示持续环境,只会显示系统环境。

环境开始构建

使用pyenv创建Python2.7.10环境。

$ pyenv install 2.7.10
$ pyenv versions
* system (set by /Users/hoge/.pyenv/version)
  2.7.10

在virtualenv中,基于Python2.7.10创建ansible2环境。

$ pyenv virtualenv 2.7.10 ansible2
$ pyenv versions
* system (set by /Users/hoge/.pyenv/version)
  2.7.10
  2.7.10/envs/ansible2
  ansible2
    グローバルPythonをansible2に切り替える
$ pyenv global ansible2
$ pyenv versions
  system
  2.7.10
  2.7.10/envs/ansible2
* ansible2 (set by /Users/hoge/.pyenv/version)
$ python --version
Python 2.7.10
    pipコマンドのためにパスを通す
$ echo eval "$(pyenv init -)" >> ~/.zshrc
$ source ~/.zshrc
    ansible2.Xインストール
$ pip install ansible
$ ansible --version

创建与ansible1.X环境相同的方式

$ pyenv virtualenv 2.7.10 ansible1
$ pyenv versions
  system
  2.7.10
  2.7.10/envs/ansible1
  2.7.10/envs/ansible2
  ansible1
* ansible2 (set by /Users/hoge/.pyenv/version)
$ pyenv global ansible1
$ pyenv versions
  system
  2.7.10
  2.7.10/envs/ansible1
  2.7.10/envs/ansible2
* ansible1 (set by /Users/hoge/.pyenv/version)
  ansible2
$ pip install ansible==1.9.4
$ ansible --version
ansible 1.9.4
  configured module search path = None
$ python --version
Python 2.7.10

切换Ansible环境

$ pyenv global ansible1
$ pyenv global ansible2
bannerAds