[python] 파이썬과 동등한 Maven

Java 개발자 / Python 초보자이며 특히 종속성 관리 및 빌드 자동화와 같은 Maven 기능이 누락되었습니다 (빌드하지 않지만 배포를 위해 패키지를 만드는 방법은 무엇입니까?)

이러한 기능을 달성하기 위해 동등한 파이썬이 있습니까?
참고 : 저는 Python 2.x를 사용합니다

감사.



답변

파이썬은 의존성과 패키징을 위해 distutils와 setuptools를 사용합니다.

기본 사항을 설명하는 자습서는 다음과 같습니다. http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html

간단히 말해서, 의존성 및 스크립트 컴파일 / 설치 정보가있는 setup.py 파일이 있으며, 계란, dist tarball, 이진 tarball 등을 빌드 할 수 있습니다.


답변

직접 일치하는 항목이 없습니다. 그러나 가장 가까운 곳은 다음과 같습니다.

  • zc.buildout : 닫힌 환경을 설정하고, 종속성을 다운로드 / 처리하고, 스크립트를 초기화하는 등의 작업을 수행 할 수 있습니다. 또한 플러그인 (또는 “레시피”라고도 함)을 기반으로합니다. 베타 단계에 있었을 때 몇 년 전에 사용했는데 아마도 그 이후로 진화했을 것입니다. Maven과 마찬가지로 학습 곡선이 있지만 가장 강력합니다.

다른 오퍼링은 Maven / zc.buildout의 서브 세트입니다.

Ant와 shell 스크립팅을 알고있을 것이므로 다음 Python 도구도 확인할 수 있습니다.

  • Fabric 또는 Paver : 풍미가 추가 된 명령 줄 작업 러너. 기존의 명령 줄 실행을 파이썬으로 감싸고 다양한 작업 (작업 종속성, 출력 해석, 원격 서버에서 명령 실행 등)을보다 강력한 방식으로 관리 할 수 ​​있습니다. 기본적으로 쉘 스크립팅으로 할 수 없었던 것은 아니지만 파이썬에서는 훨씬 덜 암호입니다.

답변

필자 는 maven에서 크게 영감을 얻었지만 구성 대신 XML 대신 Python을 사용 하는 PyBuilder 를 지적하고 있으므로 실제로 읽을 수 있습니다 .IMHO.

종속성 관리를위한 플러그인 (후드에서 pip를 사용하고 빌드와 런타임 종속성을 구별)이 있으며, maven과 달리 단일 명령으로 전체 빌드 라이프 사이클을 실행할 수 있습니다.


답변

배포시에는 distutils / setuptoos와 함께 pip 패키지도 살펴보십시오 (아래에 setuptools 사용). 실패한 설치를 롤백하고 제거 할 수도 있습니다 (easy_install / setuptools에서 누락 된 것). 또한 요구 사항 텍스트 파일을 통해 종속성을 지정할 수 있습니다.


답변

virtualenv를 사용하여 독립형 프로젝트 환경을 작성하고 pip / easy_install을 사용하여 종속성을 관리하는 것이 좋습니다.


답변