epel repo가 Python의 업데이트된 종속성을 읽는 위치를 잘 이해하지 못하는 것 같습니다. 예를 들어 실행하면 sudo yum update
다음과 같은 메시지가 표시되고 성공적으로 실행되어 pip install requests
나열된 pip install six
종속성을 충족하지만 여전히 종속성에 대해 동일한 메시지가 표시됩니다. 또한 내 폴더에서 요청과 6개의 패키지를 볼 수 /usr/lib/python2.6/site-packages
있으며 문제 없이 Python으로 가져올 수도 있습니다.
내 CentOS-Base.repo 파일에서 epel을 실행합니다.
[epel]
name = none
baseurl = http://mirror.rightscale.com/epel/6/x86_64/archive/20140514/
http://ec2-us-east-mirror.rightscale.com/epel/6/x86_64/archive/20140514/
http://ec2-us-west-mirror.rightscale.com/epel/6/x86_64/archive/20140514/
failovermethod=priority
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.rightscale.com
* centosplus: mirror.rightscale.com
* epel: mirror.symnds.com
* extras: mirror.rightscale.com
* rightscale-epel: mirror.rightscale.com
* updates: mirror.rightscale.com
rightscale-epel | 951 B 00:00
repo id repo name status
base none 6,367
centosplus none 48
epel Extra Packages for Enterprise Linux 6 - x86_64 11,830
extras none 14
jenkins Jenkins 314
percona CentOS 6 - Percona 671
puppetlabs-deps Puppet Labs Dependencies El 6 - x86_64 77
puppetlabs-products Puppet Labs Products El 6 - x86_64 538
rightscale-epel none 285
updates none 909
repolist: 21,053
수동으로 시도해도 다음이 rpm -ivh python-boto-2.38.0-1.el6.noarch.rpm
생성됩니다.
error: Failed dependencies:
python-requests is needed by python-boto-2.38.0-1.el6.noarch
python-rsa is needed by python-boto-2.38.0-1.el6.noarch
python-six is needed by python-boto-2.38.0-1.el6.noarch
# sudo yum update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ec2-us-west-mirror.rightscale.com
* centosplus: ec2-us-west-mirror.rightscale.com
* epel: mirror.symnds.com
* extras: ec2-us-west-mirror.rightscale.com
* rightscale-epel: ec2-us-west-mirror.rightscale.com
* updates: ec2-us-west-mirror.rightscale.com
rightscale-epel | 951 B 00:00
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package libunwind.x86_64 0:1.1-2.el6 will be updated
---> Package libunwind.x86_64 0:1.1-3.el6 will be an update
---> Package python-boto.noarch 0:2.27.0-1.el6 will be updated
---> Package python-boto.noarch 0:2.38.0-1.el6 will be an update
--> Processing Dependency: python-six for package: python-boto-2.38.0-1.el6.noarch
--> Processing Dependency: python-rsa for package: python-boto-2.38.0-1.el6.noarch
--> Processing Dependency: python-requests for package: python-boto-2.38.0-1.el6.noarch
---> Package python-pip.noarch 0:1.3.1-4.el6 will be updated
---> Package python-pip.noarch 0:7.1.0-1.el6 will be an update
---> Package ssmtp.x86_64 0:2.61-21.el6 will be updated
---> Package ssmtp.x86_64 0:2.61-22.el6 will be an update
--> Running transaction check
---> Package python-boto.noarch 0:2.38.0-1.el6 will be an update
--> Processing Dependency: python-six for package: python-boto-2.38.0-1.el6.noarch
--> Processing Dependency: python-requests for package: python-boto-2.38.0-1.el6.noarch
---> Package python-rsa.noarch 0:3.1.1-5.el6 will be installed
--> Finished Dependency Resolution
Error: Package: python-boto-2.38.0-1.el6.noarch (epel)
Requires: python-requests
Error: Package: python-boto-2.38.0-1.el6.noarch (epel)
Requires: python-six
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
답변1
수동 pip
설치는 RPM 종속성을 결코 충족하지 않으며, 설치 위치에 따라 실제로 공급업체 또는 저장소 제공 패키지(RPM 의미가 아니라 파일이 존재한다는 의미)와 충돌할 수 있습니다. 종속성은 RPM 패키지의 일부이며 일반적으로 yum
다음과 같은 데이터베이스로 구성 됩니다.
A는 yum install python-boto
내 RHEL6+EPEL 테스트 시스템에서 제대로 작동하므로 나열된 오류의 원인이 무엇인지 잘 모르겠습니다. EPEL 외에 패키지 저장소를 사용하시나요? EPEL과 다른 패키지 저장소가 모두 활성화된 호스트 간에 패키지 간에 충돌이 발생하는 것을 확인했으며 이 클래스에 의해 활성화된 여러 저장소(예: EPEL의 호스트에서 동시에 활성화된 두 저장소)가 있는 호스트를 수정하려면 패키지를 수동으로 제거하고 다시 설치해야 설치 충돌이 발생합니다. 오류가 발생하고 이에 대해 rpmfusion을 수행합니다).
수동 pip
설치도 상황을 복잡하게 만들 수 있습니다. 설치하는 경우 pip
홈 디렉터리에 설치하고, 그렇지 않으면 RPM이 사용하는 공급업체 공간에 설치하지 않습니다.