본문 바로가기
언어/ㄴPython

[python] python script is executed by matlabprogram

by 공대우냉이 2016. 2. 4.


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

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
맵트랩에서 인자를 넘겨주는 것도 추가해서 코드 다시 업데이트 했습니다.