나는 약간의 파이썬 패키지를 유지하고있다. 각 파일에는 매우 비슷한 setup.py
파일이 있습니다. 그러나 setup.py install
을 수행 할 때 내 패키지 중 하나가 알으로 설치되고 다른 패키지는 "달걀 폴더", 즉 확장자가 "달걀"인 폴더로 설치됩니다.Python : 왜 일부 패키지는 계란으로, 일부는 "계란 폴더"로 설치됩니까?
다른 동작을 일으키는 원인은 무엇입니까?
나는 약간의 파이썬 패키지를 유지하고있다. 각 파일에는 매우 비슷한 setup.py
파일이 있습니다. 그러나 setup.py install
을 수행 할 때 내 패키지 중 하나가 알으로 설치되고 다른 패키지는 "달걀 폴더", 즉 확장자가 "달걀"인 폴더로 설치됩니다.Python : 왜 일부 패키지는 계란으로, 일부는 "계란 폴더"로 설치됩니까?
다른 동작을 일으키는 원인은 무엇입니까?
는 :
zip-safe
이있는 경우
, 그것은
.egg
ZipFile에 따라 설치된 경우 프로젝트가 제대로 작동하고, 반대로not-zip-safe
의 존재가 프로젝트 [즉.egg
파일로 설치하지 않아야 의미한다는 것을 의미 ..egg
디렉토리로]. setuptools 'setup()
에 대한zip_safe
옵션은 기록 할 파일을 결정합니다. 이 옵션을 제공하지 않으면 setuptools는 코드 및 내용 분석을 기반으로 패키지 작동 여부를 자체적으로 평가합니다.
무엇이 프로젝트를 지퍼로 만드나요? 왜 둘 중 하나를 선택하겠습니까? (나는 누군가 포장으로 프로젝트를 꾸민다.) –
setuptools 문서에서 : http://peak.telecommunity.com/DevCenter/setuptools#setting-the-zip-safe-flag – saffsd
단일 달걀 파일은 실제로 안에 특정 디렉토리 구조가있는 zip 아카이브입니다. zipimport 설명서에는 zip 파일에서 .py
, .pyc
및 .pyo
파일 만 가져올 수 있습니다. 따라서 패키지가 컴파일 된 C 코드 (예 : .so
파일, .pyd
개 파일)와 같은 다른 종류의 모듈 리소스를 가져와야하는 경우 zip 파일로 작동하지 않습니다.
이것이 인 경우에만 알 수 있습니다. 일부 알은 zip 아카이브로 작동하지 않을 수 있지만 그 이유는 주 원인이라고 생각합니다.
주된 이유는 아닙니다. 정확한 이유가 아닙니다. setuptools는 압축 된 egg로도 .so 및 .pyd 파일이 작동하도록하는 특수 로더를 추가합니다. 다른 대답은 올바른 것입니다. –
(Windows XP에 있습니다.) –