gpt4 book ai didi

python - 无法在ansible模块中导入MySQLdb

转载 作者:行者123 更新时间:2023-11-28 21:20:50 25 4
gpt4 key购买 nike

我正在尝试在 ansible 中编写自定义模块。在使用 import MySQLdb 时出现错误

 failed: [127.0.0.1] => {"failed": true, "parsed": false}
invalid output was: Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-1394199347.29-33439012674717/inventory", line 11, in <module>
import MySQLdb
ImportError: No module named MySQLdb

使用
Python版本: 2.6.6
MySQL-python版本:1.2.3

Python 代码:-

#!/usr/bin/python

import datetime
import sys
import json
import os
import shlex
import MySQLdb

db = MySQLdb.connect("localhost","user","pwd","db_name" )
cursor = db.cursor()
cursor.execute("SELECT * FROM hosts")
data = cursor.fetchone()
print data
db.close()

我写了一个剧本来运行 ansible 模块:-

库存.yaml:-

---
- hosts: webservers
user: root
sudo: True
vars:
act: list
tasks:
- name: Run module inventory
action: inventory act="{{act}}" prod="roop"

我正在使用以下命令运行此剧本:-

ansible-playbook -v playboook/path/inventory.yaml 

相同的代码在 python 命令行 (<<<) 中工作,但在 ansible 模块中不工作。

在我的 ansible 模块中,其他代码正在运行。是否需要为ansible做任何配置设置?

最佳答案

您的 MySQLdb 模块不在 Python 环境中。在您的脚本中,您正在使用以下命令运行 python:#!/usr/bin/python。您从命令行 (>>>) 运行的 Python 很可能不是同一个 Python。您可以尝试运行:

which python

找出您正在运行的 Python。所以,如果是另一个Python来安装它,你可以在Ubuntu上运行:

sudo apt-get install python-mysqldb

或在 CentOS、RedHat 上:

sudo yum install MySQL-python

希望对您有所帮助。

关于python - 无法在ansible模块中导入MySQLdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22251950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com