2016-06-30 2 views
0

파이썬 모듈 직접 터미널에서 실행하면 파이썬 스크립트가 하나 있지만, 나는 똑같은 스크립트를 사용할 수 있지만 아래에있을 때 사용하고 있습니다. 오류."ImportError : xhaus라는 모듈 없음"

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를 참조하지만, 내가했다 약간의 해킹으로 문제를 해결했습니다. 나는 파이썬 스크립트에서 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

관련 문제