2012-12-05 5 views
6

저는 파이썬을 처음 사용합니다. 나는 파이썬을위한 C/C++ 확장을 만들었고, 파이썬 disutils 셋업 스크립트의 도움으로 이들을 빌드 할 수 있었다. 하지만이 설치 스크립트를 기존 빌드 시스템에 통합해야합니다. 그래서 run_setup() 메소드를 사용하여이 설정 스크립트를 호출하는 다른 스크립트를 작성했습니다. 오류가 확장 건물 (컴파일러, 링커 또는 아무것도)가 발생했을 경우Python에서 disutils 설정의 오류 로그를 가져 오는 방법은 무엇입니까?

distributionObj = run_setup("setup.py",["build_ext"]) 

이제, 내가 원하는, 내가 빌드 프로세스를 알리기 위해 발신자 스크립트 오류 문자열과 함께 정보를 얻을 수 있어야합니다 .

제발 나에게 약간의 제안을 해주십시오.

답변

-1

자세한 내용을 보려면 -v 매개 변수를 python setup.py build으로 전달하면 대개 자세한 오류가 발생합니다.

10

환경에서 DISTUTILS_DEBUG = 1로 설정하면 디버그 로깅이 발생합니다.

+0

'DISTUTILS_DEBUG = 1 python setup.py development'이 저에게 효과적이었습니다. '-v'는하지 않았습니다. (Python 2.7.6) – mpavlov

+0

setup.py를 직접 호출하지 않은 경우에도 작동합니다. –

4

distutils1 (첫 번째 버전)도 로깅의 내부 버전을 사용합니다 (약간의 하드 코드, 표준 로깅 모듈을 사용하지 않음). 사용할 수

import distutils.log 
distutils.log.set_verbosity(-1) # Disable logging in disutils 
distutils.log.set_verbosity(distutils.log.DEBUG) # Set DEBUG level 

모두의 distutils의 로깅 수준 :

DEBUG = 1 
INFO = 2 
WARN = 3 
ERROR = 4 
FATAL = 5 

당신은 클래스의 소스 코드를 볼 수의 "로그"나는 상세 레벨 코딩과 같은 설정이 가능하다고 생각 참조 용 distutils. 보통 Python 2.7에서 /usr/lib/python2.7/distutils/log.py

0

verbose 옵션은 부가 적이 지 않으며 부울 값으로 변환됩니다. 따라서 verbose 옵션을 몇 번이나 호출하더라도 항상 1이 될 것이고 1은 항상 INFO로 설정합니다. 이것은 기본값입니다.

+1

몇 가지 코드를 공유하십시오. – gmuraleekrishna

관련 문제