You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu VM上为Ansible安装专属Python Pip模块并配置虚拟环境?

用Python虚拟环境隔离Ansible依赖并确保连接时使用该环境

当然可以通过Python虚拟环境来安装Ansible所需的Pip模块,完全不会干扰服务器上其他用途的Python环境和Pip包,这是解决依赖冲突问题的标准方案。

具体实现步骤

1. 在目标Ubuntu虚拟机上创建并配置虚拟环境

首先确保目标机安装了Python虚拟环境工具:

sudo apt update && sudo apt install -y python3-venv

创建一个专门用于Ansible的虚拟环境(示例路径为/opt/ansible-venv,可根据需求调整):

python3 -m venv /opt/ansible-venv

激活虚拟环境并安装所需依赖:

source /opt/ansible-venv/bin/activate
# 升级pip到最新版本
pip install --upgrade pip
# 安装azure_rm_storageblob模块依赖
pip install azure-core azure-mgmt-storage azure-mgmt-resource
# 安装mssql_script模块依赖
pip install pyodbc
# 若目标机需要直接运行Ansible,也可在此环境安装Ansible
pip install ansible
# 退出虚拟环境
deactivate

2. 配置Ansible连接时使用该虚拟环境

有三种常用方式指定虚拟环境的Python解释器:

方式一:在Playbook中直接指定

在Playbook的hosts段添加ansible_python_interpreter变量,确保所有任务都使用虚拟环境的Python:

- name: 配置Ubuntu虚拟机
  hosts: target_ubuntu
  vars:
    ansible_python_interpreter: /opt/ansible-venv/bin/python
  tasks:
    - name: 操作Azure存储Blob
      azure_rm_storageblob:
        # 填写模块所需参数
        storage_account_name: my_storage_account
        container: my_container
        blob: my_blob.txt
        state: present
    - name: 执行MSSQL脚本
      mssql_script:
        # 填写模块所需参数
        server: mssql_server
        database: my_db
        script: SELECT * FROM my_table;
方式二:在Inventory文件中配置

如果多个Playbook都需要连接同一台目标机,可在Inventory文件中为目标主机添加变量:

[ubuntu_servers]
target_ubuntu ansible_host=192.168.1.100 ansible_python_interpreter=/opt/ansible-venv/bin/python
方式三:通过ansible.cfg全局配置(不推荐全局使用)

若所有目标主机都需要使用同一个虚拟环境,可修改ansible.cfg的[defaults]段:

[defaults]
interpreter_python = /opt/ansible-venv/bin/python

3. 验证环境是否生效

可在Playbook中添加以下任务,确认当前使用的Python环境和已安装的依赖:

- name: 检查Python环境及已安装包
  command: "{{ ansible_python_interpreter }} -m pip list"
  register: installed_packages
  debug:
    var: installed_packages.stdout_lines

内容的提问来源于stack exchange,提问作者Josh Wright

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:25:27