언어/ㄴPython

[python] python script is executed by matlabprogram

공대우냉이 2016. 2. 4. 11:35


맵트랩에서 파이썬 스크립트를 돌려보자.

python.m이 맵트랩 파일이고, python.py에서 PATH를 지정해주고 python2.py를 실행하는 구조이다.

python.m

python.py

python2.py

우선 기본적인 방법으로 맵트랩에서 system('python scriptName.py') 를 이용하면 importerror가 난다.

이것은 LD_LIBRARY_PATH가 제대로 정해지지 않아서이다. 이것의 PATH를 추가해주면 제대로 동작한다.

shell 환경이라면 export LD_LIBRARY_PATH='path' 해주면 쉽게 해결가능하다. python에서는 좀 더 복잡하다.

shell을 한번 거쳐서 python을 실행하는 방법도 있다.

python에서 PATH를 추가하기 위해서는 python.py를 참고하기 바란다.

import os를 하고 os.environ을 이용하여 LD_LIBRARY_PATH를 지정해준다. LD_LIBARARY_PATH는 각자의 컴퓨터마다 다르므로 알아서 찾아야한다.

어떻게 찾는것인지 아직 잘 몰라서 차후에 업데이트를 하겠다.(언제할지..ㅠㅠ 찾아봐도 잘 안나오던데 아시는 분들은 밑에 코멘트 부탁드려요)

나 같은 경우에는 교수님이 찾아서 해주셨다. 방법에 대해선 내가 찾아야하는데 구글링에도 한계가 있는것 같다.

일단 LD_LIBRARY_PATH를 추가시켜주고 os.execv명령어를 이용해서 python2.py를 실행하면 importError 없이 깔끔하게 실행된다.



방금 발견했는데 python.m 파일에 python.py 경로는 알아서 고쳐주기 바란다. (쓸대없이 한번 꼬아서 경로지정을 해놨는데 그냥 올려버렸네요) 

----------------------------------------------------------------------------------

2016.02.04 PM 04:19
맵트랩에서 인자를 넘겨주는 것도 추가해서 코드 다시 업데이트 했습니다.