2016-06-30 3 views
0

Ich habe ein Python-Skript, es funktionierte, wenn ich direkt von meinem Terminal laufen, aber das gleiche Skript, das ich benutze mit Ansible, aber zu der Zeit, die ich unten bin Error."ImportError: Kein Modul namens xhaus" Python-Modul importiert Fehler von ansible

ansible Befehl lautet:

- name: run installer command 2 
    command: "{{auto_inst_loc}}/installer.py -i -s -c" 
    register: command_result2 
- debug: msg="{{command_result2.stdout}}" 
- debug: msg="{{command_result2.stderr}}" 

Und command_result2.stderr ist

"msg": "Traceback (most recent call last):\n 
File \"../scripts/Lib/soa/automation/containerManager.py\", line 9, in 
<module>\n from apicontainer import constants, common\n File 
\"/opt/akana_sw/sm8/scripts/Lib/soa/automation/apicontainer/common.py\", 
line 10, in <module>\n from com.xhaus.jyson import JysonCodec as 
json\nImportError: No module named xhaus" 

mir bitte helfen dieses Problem zu beheben.

Edit: Eigentlich vergessen zu sagen, das fehlende Modul (Xhaus) ist eine JAR-Datei und es befindet sich im selben Pfad, wo Python-Skript-Datei befindet. Muss ich irgendwo JAR zu CLASSPATH hinzufügen?

+0

Versuchen Sie es mit 'Shell' Modul anstelle von' Befehl'. Wenn kein Glück, untersuchen Sie den Unterschied zwischen Benutzer/ansible Umgebung. –

Antwort

0

Schließlich hatte ich behebt über Problem mit ein wenig hack. Ich hatte einfach sys.path.append ('JAR location') Zeile in meinem Python-Skript hinzugefügt. Boom, es hat ziemlich gut funktioniert. Bitte lassen Sie mich wissen, wenn jemand eine bessere Lösung kennt.

0

ich persönlich versuchen, es zu benutzen und es gut funktioniert, können Sie versuchen, diese ein:

- name: Execute the script 
    script: "/Path-to-local-system/installer.py -i -s -c" 

mit ihm spielen und die Parameter einstellen, refere diese page für mehr Hilfe

+0

In deiner Antwort hast du "Path-to-Local-System" erwähnt, dh du sagst mir, dass ich 'Absoluten Pfad' richtig schreiben soll? und auch ich hatte eine aktualisierte Frage bitte einmal nachsehen. – KishoreReddy

+0

Und Script-Modul versucht zuerst, Skript von lokalen Knoten zu Remote-Knoten zu verschieben, aber ich hatte bereits diese Skriptdatei mit Zip (mit dem Archivierungsmodul) verschoben. – KishoreReddy