RPM에서 Python 모듈 종속성을 어떻게 설치하나요?

RPM에서 Python 모듈 종속성을 어떻게 설치하나요?

RPM으로 패키징하여 CentOS 7에 설치한 애플리케이션이 있습니다. RPM을 설치할 때 일부 컴파일된 바이너리와 일부 Python 모듈 및 해당 종속성을 설치하고 싶습니다.

내 Python 모듈 에는 CentOS에서 제공하는 Python 버전 보다 최신 버전이 필요하므로 /usr/local/lib/python2.7/site-packages./usr/lib/usr/local/libpip

내 애플리케이션을 다음과 같이 패키징하는 방법이 있습니까?

  • RPM에서 애플리케이션을 설치할 수 있습니다.
  • /usr/local/lib내 Python 모듈은 애플리케이션을 설치할 때 설치됩니다.
  • 모든 Python 종속성도 설치됩니다.
  • 나는 Python 종속성의 RPM 패키지를 유지하는 것을 피합니다.

이런 것에 대한 합의가 있나요? 아니면 몇 가지 예가 있나요? 직접적으로 관련된 내용은 보이지 않습니다Fedora의 Python 패키징 문서.

제가 고려한 옵션은 다음과 같습니다.

  1. 내 애플리케이션, Python 모듈 및 모든 Python 종속 항목을 하나의 RPM으로 묶습니다.

    전체 애플리케이션을 새 버전으로 업그레이드하지 않으면 클라이언트 시스템의 개별 종속성을 업데이트할 수 없기 때문에 이 옵션이 마음에 들지 않습니다.

  2. 내 애플리케이션, Python 모듈 및 타사 종속성에 대해 별도의 RPM을 만듭니다.

    종속성 트리의 모든 타사 모듈에 대해 RPM을 유지해야 하기 때문에 이 옵션이 마음에 들지 않습니다.

  3. pip내 RPM에서 호출되었습니다.

    pipRPM에는 변경 사항을 추적할 방법이 없고 RPM을 제거할 때 타사 Python 모듈을 안전하게 제거할 수 있는지 확실하지 않기 때문에 이 옵션이 마음에 들지 않습니다 .

답변1

소프트웨어 컬렉션을 사용하면 이전 시스템에서 새 버전의 모듈을 보유하거나 새 시스템에서 이전 모듈을 보유할 수 있습니다. 바라보다: http://www.softwarecollection.org/

관련 정보