728x90
반응형
파이썬으로 개발한 프로그램을 자바에서 실행시켜 보려고 한다.
검색을 해서 찾아 보니 Jython을 사용하면 사용이 가능하다는 글을 봄.
jython을 알고 싶으면 아래의 URL을 참고
나는 메이븐을 통해서 라이브러리를 다운 받음.
https://mvnrepository.com/artifact/org.python/jython/2.7.2
라이브러리 연결 후
테스트를 위해 소스를 입력해보았다.
import org.python.util.PythonInterpreter;
public class javaPythonTest {
private static PythonInterpreter interpreter;
public static void main(String args[]){
interpreter = new PythonInterpreter();
interpreter.exec("from java.lang import System");
interpreter.exec("s = 'Hello World'");
interpreter.exec("System.out.println(s)");
interpreter.exec("print(s)");
interpreter.exec("print(s[1:-1])");
}
}
실행시켰더니 에러가 발생 ㅜ.ㅜ
ImportError: Cannot import site module and its dependencies: No module named site
Exception in thread "main" ImportError: Cannot import site module and its dependencies: No module named site
Determine if the following attributes are correct:
* sys.path: [C:\Users\xxxx\.m2\repository\org\python\jython\2.7.2\Lib, __classpath__, __pyclasspath__/]
This attribute might be including the wrong directories, such as from CPython
* sys.prefix: C:\Users\xxxx\.m2\repository\org\python\jython\2.7.2
This attribute is set by the system property python.home, although it can
be often automatically determined by the location of the Jython jar file
You can use the -S option or python.import.site=false to not import the site module
모듈을 읽었을때 site 이부분이 문제 인거 같다.
해경 방법은
import org.python.util.PythonInterpreter;
public class javaPythonTest {
private static PythonInterpreter interpreter;
public static void main(String args[]){
System.setProperty("python.import.site", "false");
interpreter = new PythonInterpreter();
interpreter.exec("from java.lang import System");
interpreter.exec("s = 'Hello World'");
interpreter.exec("System.out.println(s)");
interpreter.exec("print(s)");
interpreter.exec("print(s[1:-1])");
}
}
System Property에 오류난 내용을 입력하니. 동작이 된다.
아.. 리턴 받아서 처리 하는 부분을 해봐야 겠다.
728x90
반응형
'Dev > JAVA' 카테고리의 다른 글
공공데이터 API 요청시 SERVICE ERROR (0) | 2023.12.27 |
---|---|
[JAVA] URL 파라메터 분리(Feat.get) (0) | 2021.02.05 |
JAVA 접근 제한자 (0) | 2020.08.02 |
JAVA - 키보드 입력 (0) | 2020.07.26 |
JAVA-String 숫자여부 Check (0) | 2020.07.24 |