如何使用ansible为特定的python版本创建virtualenv.在ansible标准库中是否有命令?
我想要像:
- virtualenv: dest=venv python_version:/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
toa*_*oza 66
我有时经历了一些指定的不稳定行为virtualenv_command(例如:在我的virtualenv中获得python 2.7可执行文件,即使我指定运行命令virtualenv-3.4.
如果遇到该问题,可以使用command模块手动创建virtualenv :
- name: Manually create the initial virtualenv
command: virtualenv /user/home/venvs/myenv -p python3.4 creates="/user/home/venvs/myenv"
Run Code Online (Sandbox Code Playgroud)
(注意:通过指定creates此命令仅在virtualenv不存在的情况下运行/user/home/venvs/myenv).
然后,您可以使用以下pip命令正常安装您的需求:
- name: Install requirements
pip:
requirements=/my_app/requirements.txt
virtualenv=/user/home/venvs/myenv
Run Code Online (Sandbox Code Playgroud)
更新
我发现指定virtualenv_python(在Ansible 2.0+中可用)似乎也适用于上述情况.例如:
- name: Install requirements
pip:
requirements: /my_app/requirements.txt
virtualenv: /user/home/venvs/myenv
virtualenv_python: python3.4
Run Code Online (Sandbox Code Playgroud)
(有了这个,你不需要先手动创建virtualenv)
Sch*_*uki 15
您可以使用pip模块和特定virtualenv二进制文件来执行此操作:
- pip: virtualenv=/path/to/venv virtualenv_command=/path/to/virtualenv3 ...
Run Code Online (Sandbox Code Playgroud)
使用ansible 2.0,您可以为virtualenv指定一个python版本 virtualenv_python
例如:
- name: Initiate virtualenv
pip: virtualenv="{{ virtualenv_dir }}"
virtualenv_python=python3.4
requirements={{ app_dir }}/requirements.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45622 次 |
| 最近记录: |