나는 사용자 정의 모듈을 안전하게 작성하려고합니다. 2.6.6
MySQL을 - 파이썬 버전 : 1.2.3MySQLdb를 비활성 모듈에서 가져올 수 없습니다.
파이썬 코드 : 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
을주고있다 -
#!/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
파이썬 명령 줄 (< < <)에서 일하고 있지만 작동하지 같은 코드 신뢰할 수있는 모듈.
내 책임감있는 모듈에서 다른 코드가 작동합니다. 해당 설정이 필요합니까?
스크립트를 실행하는 데 사용하는 사용자에게 MySQLdb 모듈을 실행할 수있는 충분한 권한이 있습니까? – Vor
이 스크립트를 루트 사용자로 실행 중입니다. – Roopendra
ANSIBLE_KEEP_REMOTE_FILES = 1로 실행하고 /root/.ansible/tmp/ansible-xxx/inventory 코드를 표시 할 수 있습니까? virtualenv를 사용하고 있습니까? – leucos