2010-12-23 3 views
3

distutils로 파이썬 확장 세트를 빌드 중입니다. 확장 기능은 일반적으로 Makefile을 사용하여 소스에서 빌드 된 외부 라이브러리 (Python과 관련 없음)에 의존합니다. 이러한 외부 라이브러리는 자주 변경되지 않습니다.나중에 distutils로 다시 빌드하기위한 파일 캐쉬

내 setup.py 스크립트는 urllib.urlretrieve()를 사용하여 웹에서 라이브러리를 가져오고, Makefile을 구문 분석하여 관련 소스 파일 목록을 수집하고 config.add_library()를 사용하여 빌드합니다. 그건 잘 작동하고 모두 잘됩니다.

내 질문은 : 다운로드 한 소스 파일을 캐싱하여 재 빌드 할 때 distutils가 파일들을 다시 다운로드하지 못하도록하는 가장 좋은 방법은 무엇입니까? distutils가 만든 build/src.macosx-10.6-x86_64-2.7 또는 build/temp.macosx-10.6-x86_64-2.7 폴더에이 파일을 저장할 수 있습니까? 그렇다면 어떻게 distutils에 해당 폴더의 이름을 묻는가?

미리 감사드립니다.

+0

'distutils.command.build' 인스턴스는'self.build_temp' 속성을 가지고 있습니다. – jfs

+0

설치 스크립트의 일부가 아닌 처음 실행하는 동안 바이너리 라이브러리가 프로그램의 초기화 부분을 다운로드하도록 할 수 있습니다. – Apalala

답변

1

이러한 폴더를 사용할 수 있어야합니다. 여기는 get those names from distutils입니다. 그러나 폴더는 매우 휘발성입니다. README 파일에 빌드 캐시로 역할을 설명하는 이러한 다운로드를받는 소스 배포판에 빈 디렉토리가있는 것이 좋습니다.

관련 문제