Ansible-尝试python3.5时未找到Virtualenv可执行文件

Ansible-尝试python3.5时未找到Virtualenv可执行文件,python,ansible,virtualenv,Python,Ansible,Virtualenv,有没有办法修复pip模块无法找到正确的python版本的问题?关键问题似乎在于virtualenv\u python - name: Create venv and install requirements pip: requirements: /home/admin/dev/python/filepro/requirements.txt virtualenv: /home/admin/venvs/filepro virtualenv_python: python3.

有没有办法修复pip模块无法找到正确的python版本的问题?关键问题似乎在于
virtualenv\u python

- name: Create venv and install requirements
  pip:
    requirements: /home/admin/dev/python/filepro/requirements.txt
    virtualenv: /home/admin/venvs/filepro
    virtualenv_python: python3.5
  tags:
    - venv
错误:

Error message:
FAILED! => {"changed": false, "failed": true, "msg": "Failed to find required executable virtualenv"}

/usr/bin/python3.5
是python3.5的所在,我使用的是
Ansible 2.2.1.0
问题是virtualenv没有作为sudo安装


如果我错了,请纠正我的错误,但是要让pip模块与virtualenv一起工作,您需要运行
sudo pip install virtualenv

,首先,您需要确保安装的virtualenv适用于您打算使用的Python版本。在运行pip模块之前,您可以通过以下方式执行此操作:

- name: Install virtualenv via pip pip: name: virtualenv executable: pip3 -名称:通过pip安装virtualenv pip: 姓名:virtualenv 可执行文件:pip3 如果您不想(或无法)以root用户身份安装virualenv,Ansible将无法获取virtualenv可执行文件。您可以手动将其添加到PATH环境变量:

- name: Create venv and install requirements pip: requirements: /home/admin/dev/python/filepro/requirements.txt virtualenv: /home/admin/venvs/filepro virtualenv_python: python3.5 tags: - venv environment: PATH: "{{ ansible_env.PATH }}:{{ ansible_user_dir }}/.local/bin" -名称:创建venv并安装要求 pip: 要求:/home/admin/dev/python/filepro/requirements.txt virtualenv:/home/admin/venvs/filepro virtualenv_python:python3.5 标签: -文夫 环境: 路径:“{ansible\u env.PATH}}:{{{ansible\u user\u dir}}/.local/bin” 或者,您可以以root用户身份安装vitualenv:

- name: Install virtualenv via pip pip: name: virtualenv executable: pip3 become: yes become_user: root -名称:通过pip安装virtualenv pip: 姓名:virtualenv 可执行文件:pip3 变成:是的 成为用户:root
您可以使用
python3-venv
模块使用以下内容创建虚拟环境

首先,您需要在目标服务器中安装
python3venv

使用
$sudo apt install python3 venv安装它

然后在ansible任务中,您可以创建虚拟环境,如下所示

- name: "Setup Virtual Env",
  pip:
     - requirements: path/to/requirements.txt # this is optional
     - virtualenv: path/to/required/virtual_env_destination
     - virtualenv_command: 'python3 -m venv'

无需使用
virtualenv_python
参数

也要确保您有最新的ansible,因为在2.2.0版本中,pip模块中有一个bug,2.2.0版本之后的任何东西都很有用。