2010-11-29 2 views
0

큰 파이썬 프로젝트가 레거시 "setuptools"프로젝트를 사용하여 "배포"을 드롭 인 대체품으로 사용하도록 업그레이드되었습니다.Zip-safe 플래그가없는 달걀을 기본적으로 Distribute로 압축 할 수 있습니까?

우리는 두 응용 프로그램 사이에 하나의 문제가 있음을 발견했습니다. setuptools에서 정의되지 않은 zip-safe 플래그가있는 egg는 zip-safe로 간주되어 zip 파일로 설치됩니다 (사용자가 명시 적으로).

새로운 배포판과 비교하여 모든 계란은 zip-safe 플래그가 명시 적으로 true로 설정되어 있지 않으면 zip safe가 아닌 것으로 간주되어 압축이 풀린 상태로 설치됩니다.

결과적으로 이전에 .egg 파일을 사이트 패키지에 복사하여 설치 한 달걀은 이제 사이트 패키지에 압축이 풀립니다. 이상적으로, 저는 새로운 배포판이 기존의 setuptools와 정확히 일치하는 방식으로 알을 설치하기를 바랍니다.

우리가 site-packages 폴더의 디렉토리 구조만큼 근본적인 것을 변경하면 우리 팀은 매우 시간 소모적 인 국제 UAT 단계를 밟을 것입니다. 새 설치 프로그램이 이전 설치 프로그램과 똑같은 디렉토리 구조를 생성한다는 것을 단순히 보증 할 수 있다면 훨씬 더 좋습니다.

참고하시기 바랍니다. 필자는 Windows XP 32 비트 용 Python 2.4.4에서 최신판을 사용하고 있습니다.

답변

1

Windows에서 Python 2.4를 사용하는 경우에는 Setuptools를 통해 배포 할 때 이점이 없습니다. Distribute는 새로운 "home"디렉토리 레이아웃을 지원하는 Python 2.6과 setuptools가 이식되지 않은 Python 3.x에 비교 우위를 제공합니다.

그 외에도 실제로 setuptools와 관련된 Distribute에는 "업그레이드"가 없습니다. 사실, Distribute에는 setuptools에서 수정 된 버그 나 setuptools에없는 버그 (여전히 Distribute에 추가 되었기 때문에)가 포함되어 있습니다.

Distribute를 만든 사람들은 현재 주로 Distutils2에서 작업하고 있으며 Distribute에 대한 중요한 개선을 계획하지 않는다는 사실을 알고 있어야합니다.

나는 당신이 이미 전환하기로 결정한 이래로 당신이 찾고있는 대답이 아닐 수도 있다는 것을 알고 있습니다. 그러나 setuptools가 유지 보수되지 않았거나 수정본을 배포하는 버그가있는 인기있는 소문을 기반으로 완전히 전환 한 경우 (실제로는 반대 방향 임) 재검토하고 싶을 수 있습니다.

관련 문제