저는 파이썬 응용 프로그램을 패키징하는 세계에 뛰어 들고 있으며, 내가 다루어야 할 모든 개념과 옵션으로 인해 머리가 회전하기 시작하는이 혼란 상태에 빠지게되었습니다.distutils, distutils2, pip 및 요구 사항
질문 :
내가 뭘 달성해야합니까? git 서버에있는 소스에서 Python 프로젝트를 전개하십시오. 배포 도구는 모든 종속성을 가져와 설치해야하며, 대부분의 종속성은 PIP를 통해 사용할 수 있으며 하나는 Git을 통해 가져와 설치해야합니다. 최종 결과는 핍를 통해 설치해야한다, 그래서 나는 같은 일을 수행 할 수 있습니다
[~] git clone git://some/path/project.git
[~] pip install project/
컨텍스트 : 은 현재 내가 Distutils2 내가하고 싶은 일을하려고 노력하고 있지만, 그 setup.py를 사용하여 만든 것 'generate-setup'명령은 Pip와 함께 실행되지 않습니다.
Distutils2는 미래에 대한 가장 중요한 증거이기 때문에 사용하고 싶었습니다. 그러나 모든 도구에 대한 다양한 문서는 끔찍한 정보이며 (낡고 부정확 한 정보와 섞인 정확한 정보) 사람의 건강을 의심하게 만듭니다.
그럼 어떻게해야합니까? distutils와 setup.py에 충실 하시겠습니까? 아니면 Buildout과 같은 것을 살펴볼 필요가 있습니까?
친절한 응답자가 특정 도구로 수행해야하는 작업을 설명해 주실 수 있습니까 (예 : Distutils2를 사용하여 코드를 배포하고, PIP를 사용하여 종속성을 설치하고, git 종속성을 위해 스크립트를 작성하고 모든 것을 XYZ로 묶습니다).
편집 : Distutils2 1.0a4를 사용하고 있는데 이는 문서와 호환되지 않는 것으로 보입니다.
편집 2 : 질문을 재 형식화하여 내 질문에 대한 내용을 명확하게 만듭니다.
Edit3 : 이것은 파이썬의 패키징 및 배포 툴 체인을 깨뜨린 네 번째 시도입니다. 나는 다른 사람들이 내 일을하도록 내버려 두려는 것은 아니지만 신인을 위해 특정 도구가해야 할 일을 해독하는 것은 거의 불가능하다. 특히 도구 간의 기능적 중복 때문에. 나는 비밀리에 나를 시작할 수있는 현자들에 둘러싸여있는 실리콘 밸리에 있지 않아 공개적으로 이용 가능한 문서는 쓸모가 없다.
최종 편집 : 이 질문을 시작할 때 virtualenv를 Buildout으로 대체하는 것에 대해 정말로 생각하지는 않았지만. 그러나 내 연구를하는 동안 나는 항상 알고있는 것을 깨달았지만, 완전히 명확하게 내게 오지 않았다. Python 패키징 및 배포 자동화에는 여러 가지 방법이 있습니다. 물건을 완성하는 데 도움이되는 많은 도구가 있습니다. 그러나 도구간에 중요한 기능적 오버랩이있는 동안 도구 체인은 계속 진화하고 있으며 지금까지 명확한 "표준 모범 사례"가 없습니다. 배포 툴 체인 무기 경쟁은 여전히 열이 많이 남았고 명확한 승리자가 아직 나오지 않았습니다. 이것은 우리에게 혼동을 줄 수 있습니다. 파이썬에서 대부분의 똥이 작동 할 것이라고 기대하는 놈들입니다. 내가했던 것 (distutils/setuptools + pip + virtualenv 또는 Buildout과 통합 된 준결승)은 확실히 dooable이지만,별로 의미가 없으며, 불가능한 것이 아니기 때문에 - 아무도 그것을하지 않기 때문에. 이 수준의 세련미가 필요하면 커밋해야합니다. 개인적으로 나는이 프로젝트를 위해 virtualenv를두고 Buildout을 채택하기로 결정했다.
실제로 내가 찾던 내용이 아니더라도 링크 모음이 Buildout과 관련된 빈 공백을 없애는 데 성공했습니다. 고맙습니다. – JanezStupar