2013-10-08 1 views
1

내가 사용하는 자바 프로그램 내 파이썬 스크립트를 실행하려고 :왜 자바에서 시스템 호출을 할 때 파이썬 모듈을 설치해야합니까?

DefaultExecutor executor = new DefaultExecutor(); 
String s = "python -c \"import argparse; print argparse\"" 
executor.execute(s); 

하지만 오류 메시지가 점점 :

"import argparse ImportError: No module named argparse\n"

이 파이썬 모듈은 자동으로 파이썬에 설치를 2.7 이상

터미널에서 터미널을 실행할 때 명령이 올바르게 작동합니다.

$python -v 
Python 2.7.1 
$python -c "import argparse; print argparse" 
<module 'argparse' from '/usr/local/lib/python2.7/argparse.pyc'> 

왜 Java 프로그램에서 작동하지 않습니까? DefaultExecutor 다른 기계를 사용하고 있습니까?

+0

Java 실행 버전은 무엇입니까? 다른 버전입니까, 아니면 다른 환경이 다르게 설정되어 있습니까? –

+0

어떻게 확인할 수 있습니까? – Popcorn

+0

문제가 해결되었습니다. 문제는 루트 사용자로 Java 프로그램을 실행하려고 시도한 것입니다. – Popcorn

답변

1

DefaultExecutor를 실행하여 "python -v"을 실행하고 힌트를 제공하는지 확인하십시오. 어쩌면 자바는 어떤 이유로 파이썬의 잘못된 버전을 사용하고 있습니다.

또는 시도 실행 :

DefaultExecutor executor = new DefaultExecutor(); 
String s = "python \"import sys; print sys.executable\"" 
executor.execute(s); 

자바가 사용하는 파이썬의 버전을 볼 수 있습니다.

+0

문제를 찾았습니까? – Discmt

+0

예, 문제는 루트 사용자로 java 프로그램을 실행하려고했습니다. 다른 사용자로 전환했을 때 제대로 작동했습니다. – Popcorn

관련 문제