2016-08-22 1 views
1

Python에서 사용자 지정 확장 명령을 만들었습니다. 나는 그것을 설치,하지만 오류를 얻고 예상대로 (SPSS 로그 출력에서 ​​인용 - SPSS에서 파이썬 프로그램을 디버깅하기 위해 내가 알고있는 유일한 방법) : 오류가 .xml에서 또는 Run(args) 함수에서 아마SPSS Python 사용자 지정 확장 명령 디버깅

Extension command TEST_EXTENSION could not be loaded. The module or a module that it requires may be missing, or there may be syntax errors in it. 

을 . 구현중인 CustomFunction()을 철저히 테스트했습니다.

디버깅을위한 좋은 방법은 무엇이며 다른 잠재적 오류는 무엇입니까?

을 "true"를 SPSS_EXTENSIONS_RAISE 환경 변수를 설정하지만 난 그렇게하는 방법을 알고하지 않으며이의의 원인에 관계없이 작동에 공식 IBM-SPSS-Statistics-Extension-Command 말한다 오류.

답변

1

@horace 당신은 제어판> 시스템> 고급 시스템 설정> 환경 변수를 통해 Windows에서 환경 변수를 설정하십시오. 정확한 표현은 Windows 버전에 따라 다릅니다. 일반적으로 시스템 변수를 선택합니다. 그 후에 통계를 다시 시작해야합니다. 이 변수를 설정하면 파이썬 코드의 오류로 인해 추적이 생성됩니다. 역 추적은 일반적으로 사용자에게는 유용하지 않으므로 표시되지 않지만 개발자에게는 매우 유용합니다.

추적은 파이썬 코드의 오류에만 나타납니다. "로드 할 수 없습니다"오류는 Python이 제어를 받기 전에 발생하므로 추적이 생성되지 않습니다. 이 오류의 일반적인 두 가지 원인이 있습니다. 첫 번째는 확장 명령을 정의하는 xml 파일 또는 해당 Python 모듈이 통계에서 찾을 수 없다는 것입니다. 확장 명령 정의는 통계 시작시 또는 EXTENSION 명령을 실행하여로드됩니다. SHOW EXT를 실행하십시오. 구문 편집기에서 통계가 확장 파일을 찾는 위치를 확인합니다.

두 번째 원인은 Python 코드의 구문 오류입니다.
프로그램을 실행하십시오.
yourmodule
end program을 가져 오십시오.
오류가보고되었는지 확인하십시오.

보다 일반적으로 디버깅에는 두 가지 유용한 전략이 있습니다. 첫 번째는 Python에서 코드를 실행하는 외부 모드에서 코드를 실행하는 것입니다. 그렇게하면 IDE 또는 일반 Python 디버거를 사용하여 코드를 단계별로 수행 할 수 있습니다. 자세한 내용은 프로그래밍 가능성 문서를 참조하십시오. 외부 모드에서 수행 할 수있는 작업에는 몇 가지 제한이 있지만 종종 좋은 해결책입니다.

두 번째는 원격 디버깅을 지원하는 IDE를 사용하는 것입니다. 나는 윙 IDE를 사용하지만, 이것을 할 수있는 다른 IDE가있다. 이를 통해 Statistics 내에서 디버거로 이동하고 Python 코드를 단계별로 실행하며 디버거에서 원하는 모든 작업을 수행 할 수 있습니다.

hh