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

Ansible执行mysql_db模块报错:已安装PyMySQL却提示依赖缺失

解决方案
  • 确认root用户对应Python环境已全局安装PyMySQL
    普通用户安装的PyMySQL默认存储在当前用户家目录的私有路径下,become: true切换到root后无法读取。如果你的Python3.9是手动编译安装而非系统默认版本,不要通过dnf安装python3-pymysql包,这类系统包只会适配系统默认的Python3.6,手动安装的Python无法识别,需使用对应版本的pip执行全局安装:

    sudo pip3.9 install pymysql
    

    若使用系统默认Python3.6,可直接执行系统包安装命令:

    sudo dnf install python3-pymysql
    
  • 明确指定匹配的Python解释器路径
    建议直接在mysql_db任务中绑定你安装了PyMySQL的Python绝对路径,避免全局指定解释器引发的适配问题,修改后的任务示例:

    - name: Create MySQL database
      mysql_db:
        name: somedbname
        encoding: utf8
        collation: utf8_bin
      become: true
      vars:
        ansible_python_interpreter: /usr/bin/python3.9 # 替换为你实际安装了PyMySQL的Python绝对路径
    
  • 提前验证环境可用性
    可在创建数据库任务前增加验证任务,确认become后的环境确实可以正常导入PyMySQL:

    - name: 验证PyMySQL可正常导入
      command: /usr/bin/python3.9 -c "import pymysql"
      become: true
      changed_when: false
    

    该任务执行无报错后,再执行创建数据库的任务即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:18:04