2012-10-03 4 views
3

pygame 모듈을 사용하는 Python 프로그램을 MATLAB에서 실행하려고합니다. 내가 사용할 수 있습니다 알고 중 하나MATLAB에서 실행되는 Python 프로그램에서 파이 게임을 가져올 수 없습니다.

system('python program.py') 

하거나

! python program.py 

그러나, 나는 오류가 점점 계속 :

Traceback (most recent call last): 
    File "program.py", line 1, in <module> 
    import pygame 
ImportError: No module named pygame 

어떤 이상한 것은 그런 내가 명령에서 프로그램을 실행하는 경우 라인, 잘 작동합니다. 누구든지 MATLAB 내에서 실행하는 경우, 내가 matlab에 너무 자주 사용하지 않은 내가 확실히 말할 수 없다 사용할 프로그램을 가지고 있지 않기 때문에 파이썬은 pygame?

답변

1

을 찾을 수 있지만, MATLAB은을 만들 수 있습니다 이유를 알고 있나요 사용자 지정 경로가있는 사용자 지정 환경 (많은 일이 발생하므로 사용자는 소프트웨어에서 일관된 환경을 유지할 수 있습니다). matlab가 설치되면 자신의 모듈에 대한 경로를 기본 환경으로 내보낼 수 없습니다. 그래서 matlab 밖에서 pygame.py를 호출하면 python은 일반적인 lookup 경로 아래에서 pygame.py를 찾을 수 없습니다.

솔루션이 될 수 :

  • 가 pygame.py을 발견하고이 배포 중에 나중에 당신에게

  • 단지 복사 시도 두통을 일으킬 수 있지만, 직접 코드에 대한 경로를지도 pygame.py 파일을 작업 디렉토리에 저장하면 의존성이있을 수 있습니다.

  • pygame을 개발자가 직접 http://www.pygame.org에 설치하십시오. 버전 차이는 문제가 될 수 있지만 파이 게임은 파이썬의 일반적인 조회 경로 아래에 놓이게됩니다. (개인적으로 선호하는 해결책이 될 것입니다.)

  • 아니면 matlab의 라이브러리에있는 pygame의 경로 위치를 기본 환경으로 내 보내면됩니다. 이는 배포 중에도 문제가 될 수 있습니다.

2

문제는 MATLAB 일반적으로 파이썬 라이브러리와 모듈을 저장하여 PYTHONPATH를,보고되지 않도록 할 수있다. 사용자 지정 모듈의 경우 PYTHONPATH에는 사용자 지정 폴더의 경로도 포함되어야합니다.

당신은 MATLAB 실행 세션 내에서 PYTHONPATH의 값을 설정 시도 할 수 있습니다 : 첫 번째 스튜 여기에 언급 한 모든 것을 시도, 후손을 위해 How can I call a Qtproject from matlab?

0

: 그래서 여기에 답 가능성이있는 관련도

PATH_PYTHON = '<python_lib_folder>' 
setenv('PYTHONPATH', PATH_PYTHON); % set env path (PYTHONPATH) for this session 
system('python program.py'); 

참조 ("Undefined variable "py" or class" when trying to load Python from MATLAB R2014b?). 그것이 작동하지 않는다면 여러 비단뱀이있을 가능성이 있습니다. 파이썬이 (관련된 모든 설치된 모듈과 함께) bash/터미널에서 작동하는지 확인할 수 있습니다. 그리고 다음 오른쪽 경로를 알고 MATLAB 수 있도록

pyversion의 PYTHONPATH

를 사용합니다. py.importlib.import_module ('yourmodule')을 사용하여 모듈을 가져옵니다. 시작해야합니다.

관련 문제