Ansible を使用して特定の Python バージョン用の仮想環境を作成するにはどうすればよいですか。Ansible 標準ライブラリにコマンドはありますか?
次のようなものを希望します:
- virtualenv: dest=venv python_version:/usr/bin/python3
ベストアンサー1
を指定すると、時々不安定な動作が発生することがありますvirtualenv_command
(例: コマンドを で実行するように指定したにもかかわらず、virtualenv で python 2.7 実行ファイルが取得される) virtualenv-3.4
。
この問題に遭遇した場合は、できるモジュールを使用して手動で仮想環境を作成しますcommand
。
- name: Manually create the initial virtualenv
command:
cmd: virtualenv /user/home/venvs/myenv -p python3.4
creates: "/user/home/venvs/myenv"
(注意: このコマンドを指定すると、creates
virtualenv が存在しない場合にのみ実行されます/user/home/venvs/myenv
)。
その後、次のコマンドを使用して、通常どおりに要件をインストールできますpip
。
- name: Install requirements
pip:
requirements=/my_app/requirements.txt
virtualenv=/user/home/venvs/myenv
アップデート
上記のケースでは、(Ansible 2.0 以降で利用可能)を指定しvirtualenv_python
ても機能するようです。例:
- name: Install requirements
pip:
requirements: /my_app/requirements.txt
virtualenv: /user/home/venvs/myenv
virtualenv_python: python3.4
(これにより、最初に手動で仮想環境を作成する必要がなくなります)