2010-11-03 7 views
6

Django 애플리케이션을 SuSE Linux Enterprise 11 시스템에 배치해야합니다. 회사 규칙에 따라 RPM만을 사용하여 배포해야한다고 나와 있습니다. 각 종속성에 대해 ./setup.py bdist_rpm을 사용할 수 있지만 RPM이 아직 모든 종속성을 기록하지 않기 때문에 실제로는 정상적인 것은 아닙니다. 따라서 RPM을 사용하는 데 실제 이점이 없으며 수동으로 종속성을 관리하는 것은 다소 번거롭기 때문에이를 피하고 싶습니다.가상 패키지로 Django를 배포 패키지에 배포 하시겠습니까?

이제 패키지를 만들 때 virtualenv을 만들고 pip을 통해 모든 종속성을 설치 한 다음 나머지 코드를 하나의 솔리드 RPM으로 패키지화 할 수있었습니다.

이 접근 방법은 얼마나 합리적입니까?

답변

2

저는이 접근법을 약 1 년 동안 사용해 왔으며 꽤 잘 진행되어 왔습니다.

하나의 문제는 virtualenv의 bin 디렉토리에 작성된 모든 파이썬 스크립트에서 bang 행을 체크 아웃해야한다는 것입니다. 이것들은 빌드 환경에서 사용되는 전체 경로 이름이 될 것이고, 아마도 virtualenv를 설치하는 디렉토리와 같지 않을 것입니다. 따라서 RPM의 postinstall에 sed 호출을 추가하여 경로를 조정해야 할 수도 있습니다.

+0

virtualenv를 만들 때 --relocatable 옵션을 조사 할 수 있습니다. 그것은 완벽하지는 않지만 절대 경로와 관련된 몇 가지 문제를 해결합니다. –

관련 문제