2012-01-20 1 views
1

최근에는 사내 Python 모듈의 배포를 변경하고있었습니다. 이러한 모듈은 사내에서만 사용할 수 있습니다. 이전 배포에서는 모든 모듈을 어딘가에 배치하고 (예 : /gozilla/pylib) 전역 환경 변수 PYTHONPATH을 지정합니다.virtualenv를 통해 자체 제작 한 파이썬 모듈을 작업 환경에 배포하는 것이 좋은 생각입니까?

이런 종류의 배포에는 virtualenv을 사용하는 것이 좋은지 궁금합니다. 아니면 다른 방법을 사용하여, 특히 setup.py 자동 단위 테스트, doc-gen을 할 수있는 메커니즘을 사용하고 있습니까?

PYTHONPATH의 사용을 만들기위한 업데이트

, 우리가 배포 우리 자신의 카피 앤 페이스트를해야하는 것을 제외하고 잘 작동 및 단위 테스트, doc-에 대한 어떠한 지원도 더는 없다 세대, 모듈 의존성 ... 배포 도구로 VIRTUALENV의 사용을 만들기위한

, 기타 (독립 실행 형) 파이썬 스크립트 소스에 의해 가상 ENV 모드를 입력하라는 메시지가 있습니다 ... 빈은/ 또는에 의해 활성화 수동으로 호출 execfi 자신의 스크립트 시작 부분에 le (activate_this, dict (_ 파일 _ = 활성화 _)). 이런 종류의 을 방지하기 위해 각 파이썬 스크립트에 execfile에 의해 virtualenv 모드를 수동으로 입력 할 수 있습니까?

내가 지금 당장 얻은 것입니다;) 그리고 나는 그것을하기위한 다른 제안 된 방법을 찾고 있습니다.

답변

3

네가 이미 언급 한 모든 이점을 얻었으니 네, 좋은 생각입니다.

Paver (setuptools를 확장하기에 적절 함)를 사용하는 것이 좋으며 단위 테스트, Sphinx 등과 같은 것들을 빌드 프로세스에 통합 할 수도 있습니다.

venv의 자동 활성화와 관련하여 "console_scripts"엔트리 포인트를 프로젝트 설치에 추가하면 setuptools는 지원되는 모든 대상 플랫폼에서 자동으로 스크립트 스텁을 만듭니다.

그런 다음 미리 만들어진 달걀을 사용하여 대상 컴퓨터에 virtualenv를 만드는 설치 스크립트를 작성하거나 전체 venv를 OS 패키지 (예 : .deb)에 패키지로 만들 수 있습니다. 성숙의 여러 단계에 대한 도구도 있습니다.

*)

+0

http://paver.github.com/paver/ 여전히 포장 재료를 사용하는 방법을 알아 내려고;) – Drake

관련 문제