Mik*_*ike 13 virtualenv ansible
我正在使用ansible配置一台机器.我设法在虚拟机上安装virtualenv和virtualenvwrapper.但是,我似乎无法在vm上创建virtualenv.
我正在尝试使用
- name: create virtualenv test
shell: >
executable=/bin/zsh
source `which virtualenvwrapper.sh` && mkvirtualenv test
register: run_cmd
Run Code Online (Sandbox Code Playgroud)
和
- name: create virtualenv test
action: command mkvirtualenv test
Run Code Online (Sandbox Code Playgroud)
但没有运气.有任何想法吗?
Sig*_*gyF 14
你可以像这样使用mkvirtualenv创建一个环境.我希望能够使用toggleglobalsitepackages
,但我发现在自动化会话中切换不太方便.
- name: Make a virtualenv
shell: . /usr/share/virtualenvwrapper/virtualenvwrapper.sh && mkvirtualenv {{ venv }}
args:
executable: /bin/bash
creates: "{{ venvabs }}"
Run Code Online (Sandbox Code Playgroud)
Source只将virtualenvwrappers添加到它调用的shell中,然后立即退出.无论如何,我不会为此使用virtualenvwrapper.virtualenv
直接调用.
除了@SiggyF 的出色回答之外,我想补充一点:如果这个 ansible 任务似乎失败了,因为它以某种方式发生在我身上,您可以使用该failed_when
功能(ansible 1.4+):
- name: Make virtualenv
shell: "./usr/share/virtualenvwrapper/virtualenvwrapper.sh && mkvirtualenv {{ project }} --python={{ python }} --no-site-packages"
args:
executable: /bin/bash
creates: "{{ virtualenv_dir }}/{{ project }}"
register: mkvirtualenv
failed_when: 'mkvirtualenv.changed and "New python executable" not in mkvirtualenv.stdout'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3617 次 |
最近记录: |