.egg 파일에 대한 내용을 읽었습니다. lib 디렉토리에서 알아 차 렸지만 개발자로서의 장점과 단점은 무엇입니까? Python Enterprise Application Kit community에서파이썬 라이브러리/애플리케이션을 .egg 파일로 패키징 할 때의 이점은 무엇입니까?
답변
:
"계란 항아리는 자바만큼 비단뱀에 있습니다 ..."
파이썬 달걀 파이썬 프로젝트 추가 정보를 묶는 방법입니다, 프로젝트의 종속성을 확인하고 런타임에 이 만족되고 프로젝트가 다른 프로젝트에 플러그인 을 제공 할 수 있습니다. 달걀을 구현하는 바이너리 형식이 있지만 가장 공통적 인 것은 입니다. '.egg'zipfile 형식입니다. 프로젝트를 배포하는 데 편리하기 때문에 입니다. 형식은 모두 패키지 관련 데이터, 프로젝트 전체에 메타 데이터, C 확장명, Python 코드 등을 지원합니다. 파이썬 계란 의
주요 장점은 다음과 같습니다
그들은
.egg 파일이 파이썬에 대한 "제로 설치"형식입니다 파이썬 패키지 관리자 "쉬운 설치"등의 도구를 사용 패키지; 어떤 빌드하거나 설치 단계가 필요 없고, 단지 그들은 패키지 메타 데이터를 포함 할 수
(C 확장이 또는 데이터 파일을 사용하는 경우 설치 런타임을 가 필요할 수 있음) PYTHONPATH 또는의 sys.path에 넣어 그들을 사용, 같은 트위스트 그들은 "네임 스페이스 패키지"(막 다른 패키지를 포함하는 패키지) (별도의 분포로 분할 예 조프. 을 허용 그들이
에 따라 다른 계란., 피크. * 패키지로로 배포 할 수 있습니다.일반 패키지와 달리 은 항상 동일한 부모 디렉토리 아래에 있어야합니다. 이 지금 별도의 구성 요소로 배포 할 거대한 모 놀리 식 패키지 무엇을 할 수 있습니다.)
그들은, 응용 프로그램 또는 라이브러리가 라이브러리의 필요 버전을 지정되도록 할 수 있습니다 예를 들어, 수 가져 오기를 수행하기 전에 ("Twisted-Internet> = 2.0") 을 요구하십시오. twisted.internet.
- 그들은 확장 응용 프로그램에 대한 확장 또는 플러그인을 배포하는 좋은 형식을하고있어 같은 공의로 플러그인에 대한 계란을 사용 Trac에로 ( 을 프레임 워크.달걀은 달걀은 달걀을 찾고, 광고 항목 포인트 (Eclipse의 "확장 포인트"개념과 유사)를 찾기 위해 간단한 API를 제공하기 때문에.
Java의 "jar"형식의 이점과 비슷한 표준화 된 형식을 사용하면 다른 이점도 있습니다.
-Adam
.egg 파일은 기본적으로 파이썬 응용 프로그램을 배포 할 수있는 좋은 방법입니다. 자바에 대한 .jar 파일과 같은 것으로 생각할 수 있습니다.
자세한 정보 here.
계란은 파이썬 응용 프로그램을 배포하는 좋은 방법입니다. 모든 종속성 및 기타 등등을 설치할 플랫폼 독립적 인 .deb 파일로 생각하십시오. 이점은 최종 사용자가 사용하기 쉽다는 것입니다. 단점은 응용 프로그램을 .egg 파일로 패키지화하는 것이 번거로울 수 있다는 것입니다.
또한 .egg와 함께 대체 설치 방법을 제공해야합니다. 달걀을 사용하는 것을 좋아하지 않는 사람들이 있습니다. 왜냐하면 그들은 원하는 소프트웨어를 설치하는 소프트웨어 프로그램의 아이디어를 좋아하지 않기 때문입니다. 이들은 대개 sysadmin 유형 인 경향이 있습니다.
무엇을 하든지 응용 프로그램을 tarball로 배포하지 마십시오. 패키지 sysetem을 사용하는 운영 체제에서 가장 쉬운 패키지 형식입니다.
간단한 파이썬 프로그램의 경우, 알을 사용할 필요가 없을 것입니다. 원시 .py 파일을 배포하면 충분합니다. 그것은 GNU/Linux 용 소스 파일을 배포하는 것과 같습니다. 다양한 운영체제 용 .exe, .dmg 또는 기타 파일을 생성하기 위해 py2exe 또는 py2app와 같은 다양한 OS "패키지 도구"를 사용할 수도 있습니다.
더 복잡한 프로그램입니다. 장고, 꽤 필요한 다양한 모듈과 종속성으로 인해 계란이 필요합니다.
하나의 알 자체가 적절한 출처 공개보다 낫지 않습니다. 좋은 부분은 종속성 처리입니다. debian 또는 rpm 패키지와 마찬가지로 다른 달걀에 의존한다고하면 자동으로 설치됩니다 (pypi.python.org 통해).
두 번째 설명 : 계란 형식 자체는 바이너리 패키지 형식입니다. 파이썬 코드로만 구성된 일반 파이썬 패키지는 "소스 릴리스"로 배포하는 것이 가장 좋습니다. 따라서 "python setup.py sdist"는 .tar.gz가됩니다. 이들은 또한 일반적으로 "알"이라고 불리며 파이핑에 업로드됩니다.
바이너리 계란이 필요한 곳 : C 코드 확장을 번들로 제공 할 때. 여러 이진 알 (32 비트 유닉스 하나, 창 하나 등)이 필요합니다.
그러나 종속 된 Python 패키지에 PyPi에 이진 알을 업로드하지 않으면 어떻게 될까요? – Mitar