我想使用ansible在virtualenv中执行python setup.py develop
命令。
怎么做?
可能是这样的:
- name: egg
shell: "python setup.py develop"
但我需要在virtualenv中执行它。我该怎么办?
答案 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"