일주일 동안 저는 CentOS 8을 새로 설치하여 소프트웨어를 설치하려고 노력해 왔습니다. 설치 프로세스와 소프트웨어 자체는 CentOS 7에서 잘 작동했지만 CentOS 8에 설치하는 임무를 맡았습니다.
이제 주요 문제는 일부 Python 패키지가 누락되었다는 것입니다. 특히 다음 패키지 이름을 가져올 수 없습니다.
MySQL-python
libxml2-python
numpy
python-imaging
python2-pyside
python-netifaces
물론 pip2를 통해 라이브러리를 설치할 수 있지만 종속성을 만족시키지 못하는 것 같습니다.
종속성을 업데이트하고 일부 코드를 변경해야 합니까, 아니면 그대로 작동하도록 하는 방법이 있습니까? EPEL 8을 사용하는 것이 더 좋지만 어쨌든 EPEL 7에서도 동일한 오류가 발생합니다.
답변1
CentOS 8은 RHEL 8을 기반으로 하며 기본적으로 Python 3으로 전환됩니다. 많은 Python 2 패키지는 더 이상 사용할 수 없거나 이름이 변경되었습니다. 예를 들어 Python 2용 NumPy는 입니다 python2-numpy
.
순전히 Pythonic 관점에서 볼 때 귀하의 경우 가장 좋은 접근 방식은 가상 환경을 사용하는 것입니다. CentOS python2-virtualenv
패키지를 설치한 다음 실행하십시오.
python2 -m virtualenv --system-site-packages yourenv
( yourenv
가상 환경에 부여하려는 이름으로 바꾸십시오. 이 이름은 가상 환경이 생성되는 디렉터리이기도 합니다.) 그런 다음 다음을 사용하여 환경을 활성화합니다.
source yourenv/bin/activate
그런 다음 다음 명령을 사용하여 pip install
가상 환경 외부의 시스템에 영향을 주지 않고 Python 종속성을 설치할 수 있습니다.
그러나 내 생각에는 RPM 패키지에 의존하는 패키지를 사용하고 있다는 것 같습니다. 이 문제는 해결하기가 더 어렵고 최선의 접근 방식은 다른 요인에 따라 달라집니다. 패키지된 소프트웨어를 Python 3에서 사용할 수 있다면 패키징하는 것을 고려해 보겠습니다. 그렇지 않으면 기존 패키지를 다시 디자인해 볼 수도 있지만 가상 환경을 사용하는 것보다 더 복잡할 가능성이 높습니다.
바라보다RHEL 8의 Python더 알아보기.