如何使用ansible在virtualenv中运行python setup.py develop命令

时间:2014-06-27 10:02:59

标签: python ansible setup.py ansible-playbook

我想使用ansible在virtualenv中执行python setup.py develop命令。 怎么做?

可能是这样的:

- name: egg
  shell: "python setup.py develop"

但我需要在virtualenv中执行它。我该怎么办?

3 个答案:

答案 0 :(得分:8)

一种方法是从virtualenv的bin目录中调用python。

- name: egg
  shell: "/path/to/env/bin/python setup.py develop"

答案 1 :(得分:3)

我只是使用pip -e方法,通过pip command(确保存在virtualenv),使用-e添加extra_args参数。例如:

- name: install MYPACKAGE in VIRTUALENV    
  pip: name='PATH OF YOUR PACKAGE'
       extra_args='-e'   # this creates a link rather then copying the files
       virtualenv='PATH OF YOUR VIRTUALENV'  # will be created if does not exist

您可以选择指定virtualenv脚本的执行方式,例如。如果你需要python3 add:

       virtualenv_command='python3 /PATH_TO_VE/virtualenv.py'

答案 2 :(得分:1)

您也可以尝试将命令链接在一起。

- name: chained shell command
  shell: "source /path/to/env/bin/activate; python setup.py develop"