2016-06-30 23 views
0

端末から直接実行するとPythonスクリプトが1つしかありませんが、同じスクリプトはAnsibleを使用して実行していますが、エラー。"ImportError:xhausという名前のモジュールがありません" Pythonモジュールがエラーからインポートできません

Ansibleコマンドは次のとおりです。

- 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}}" 

そしてcommand_result2.stderrは、これを解決するために私を助けてください

"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" 

です。

編集:実際には、欠けているモジュール(xhaus)はJARファイルであり、pythonスクリプトファイルが置かれているのと同じパスにあります。そのJARをCLASSPATHに追加する必要がある場所はどこですか?

+0

'command'ではなく' shell'モジュールで試してみてください。運がない場合は、ユーザー/不可能な環境の違いを調べてください。 –

答えて

0

このpageをREFERE、私が持っていました問題を少しでもハックで修正しました。私は単にPythonスクリプトにsys.path.append( 'JAR location')行を追加しました。ブーム、それはかなりうまくいった。もし誰かがより良い解決策を知っていれば私に教えてください。

0

私は個人的にそれを使用しようと、それはあなたがこのいずれか試すことができ、うまく動作:それで

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

遊びをしてパラメータを調整し、最後に詳細なヘルプ

+0

あなたの答えで「Path-to-local-system」と言われたことは、あなたが私に「絶対パス」を与えると言っていることを意味していますか?更新された質問も一度チェックしてください。 – KishoreReddy

+0

スクリプトモジュールは、最初にローカルノードからリモートノードにスクリプトを移動しようとしていますが、私はすでにそのスクリプトファイルをzip(unarchiveモジュールを使用)で移動していました。 – KishoreReddy

関連する問題