Raspberry PI가 있고 CentOS 7을 사용하려면 이것이 필요합니다. 나는 또한 papirus eInk 디스플레이(https://github.com/PiSupply/PaPiRus)
드라이버 및 종속성 설치 지침은 Apt-Get을 사용하지만 CentOS는 YUM을 사용합니다. 이러한 종속성을 설치하는 가장 좋고 쉬운 방법은 무엇입니까?
CentOS에 Apt-Get을 설치하는 방법에 대한 지침을 보았지만 그것이 나쁜 생각이라는 데 동의합니다. YUM은 CentOS에서 훨씬 더 좋습니다.
답변1
이는 여러 가지 이유로 두 가지가 호환되지 않기 때문에 복잡한 문제이므로 하나에서 다른 것으로 직접 변환하는 것이 종종 까다롭습니다.
약간의 배경
apt
( apt-get
)는 데비안 스타일 .dpkg
패키지와 그 종속성을 설치하기 위한 패키지 관리자입니다.
yum
.rpm
Red Hat 스타일 패키지와 해당 종속성을 설치하기 위한 패키지 관리자입니다 .
dpkg
.and 파일에 대한 논의를 시작하기 전에 .rpm
보다 일반적인 문제가 있습니다 .dpkg
/ apt-get
종속성이 발견될 것입니다라즈베리 파이. 이는 CentOS의 종속성과 일치하지 않습니다. 두 운영 체제는 서로 다른 패키지 이름을 사용할 뿐만 아니라 해당 패키지의 서로 다른 버전도 설치합니다. 이는 Ubuntu와 같은 데비안과 유사한 다른 운영 체제에서도 여전히 문제가 있을 수 있음을 의미합니다.
간단히 말해서 .dpkg
/ apt-get
패키지는 CentOS에서 쓸모가 없습니다.
복잡성이 추가됨
설치하려는 패키지가 Python과 관련되어 있으므로 알아야 할 세 번째 패키지 관리자가 있습니다.가리키다. 이것할 수 있는yum을 사용하여 설치합니다. 단, yum을 사용하여 설치하면 새 패키지가 출시되면 yum을 통해 업그레이드할 수도 있다는 점을 기억하세요. pip를 사용하면 pip에 정기적으로 업그레이드를 요청해야 합니다. yum에서는 이 작업을 수행하지 않기 때문입니다.
당신은 무엇을 할 수 있나요?
명령줄에서 검색해 볼 수 있습니다: 예: yum search pil
. 하지만 솔직히 저는 이 작업에는 Google을 더 선호합니다. 패키지 이름 동의어에 대한 더 많은 컨텍스트를 제공합니다. 실제로 지정된 종속성을 직접 처리하고 CentOS 및/또는 pip에 대한 유사한 패키지를 찾는 것 외에는 선택의 여지가 없습니다. 올바른 목록을 찾으려면 Google에서 많은 시간을 소비해야 합니다.
yum
예를 들어( install 대신 사용한다고 가정 pip
) 지침은 다음과 같습니다.
sudo apt-get install python-pil python-smbus python-dateutil -y
제가 Google에 검색할 내용은 다음 세 가지입니다.
- Centos 패키지 Python pil
- Centos 패키지 Python smbus
- centos 패키지 python dateutil
마지막으로 yum을 사용하여 패키지를 설치하라는 안내를 받았습니다.
yum install python-pillow i2c-tools-python python-dateutil
이는 동일한 패키지의 포크이지만 호환되기를 python-pil
바랍니다 . python-pillow
또한 이 python-smbus
됩니다 i2c-tools-python
. Centos의 올바른 패키지 이름인 것 같습니다.
RPM으로 적합한 Python 패키지를 실제로 찾을 수 없다면 다음을 수행해야 할 수도 있습니다.pip를 사용하여 설치.
이것이 작동하지 않으면
앞서 언급했듯이 패키지 버전이 일치하지 않을 수 있으며 이는 종속성이 실패함을 의미합니다. 가능한 모든 것을 설치한 후에도 여전히 작동하지 않습니다. 다음 단계는 소프트웨어 관리자(GitHub)에게 돌아가서 물어보는 것입니다.그들이 원한다면 정중하게CentOS 종속성을 찾는 데 도움이 됩니다.
답변2
내가 생각하기에 당신에게 문제를 일으키는 부분은 다음과 같습니다.
# Install dependencies
sudo apt-get install git bc i2c-tools fonts-freefont-ttf whiptail make gcc -y
# For Python 2
sudo apt-get install python-pil python-smbus python-dateutil -y
# For Python 3
sudo apt-get install python3-pil python3-smbus python3-dateutil -y
먼저 epel-release(yum의 추가 기능 저장소)가 설치되어 있는지 확인하는 것이 좋습니다.
yum -y install epel-release
이제 각 패키지에 해당하는 패키지를 검색하여 설치할 수 있습니다. 예:
yum search i2c
나에게주세요:
i2c-tools.x86_64 : A heterogeneous set of I2C tools for Linux
i2c-tools-eepromer.x86_64 : Programs for reading / writing i2c / smbus eeproms
i2c-tools-python.x86_64 : Python bindings for Linux SMBus access through i2c-dev
다행히 패키지 이름이 동일하여 다음을 실행할 수 있습니다.
yum install i2c-tools
운이 좋으면 모든 패키지 이름이 동일하지만 약간의 차이가 있을 수 있습니다. 시도 해봐:)