我正在嘗試編寫自定義模塊。在使用import MySQLdb
它給我的錯誤無法在導入的模塊中導入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()
我寫了一個劇本來運行模塊: -
inventory.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模塊中,其他代碼正在工作。 有沒有任何配置設置需要做的事情?
您確定您用於運行腳本的用戶具有足夠的權限來運行MySQLdb模塊嗎? – Vor
我以root用戶身份運行此腳本 – Roopendra
您可以使用ANSIBLE_KEEP_REMOTE_FILES = 1運行並顯示/root/.ansible/tmp/ansible-xxx/inventory代碼嗎?你在使用virtualenv嗎? – leucos