我想我不太明白epel repo在哪里读取python更新的依赖项。例如,当我运行sudo yum update时,我得到以下内容,然后成功地运行pip install requests和pip install six以满足列出的依赖项,但仍然得到关于依赖项的相同消息。我还可以在我的/usr/lib/python2.6/site-packages文件夹中看到请求和6个包,也可以在python中导入,不会出现任何问题。
[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发布于 2015-12-18 18:23:17
手动pip安装绝不会满足RPM的依赖,实际上可能会与供应商或存储库提供的包发生冲突(在文件存在的意义上,而不是在任何RPM意义上),这取决于在哪里安装了什么。依赖项是RPM包的一部分,通常通过例如yum等将其排序到数据库中。
yum install python-boto在我的RHEL6+EPEL测试系统上正常工作,所以我不确定您做了什么会导致列出的错误。除了EPEL,您还使用包存储库吗?我肯定看到了支持EPEL和其他软件包存储库的主机包之间的冲突,并且必须手动卸载和重新安装软件包,以纠正由这种多功能存储库主机(例如,带有EPEL和rpmfusion的主机)产生的安装冲突和错误。
手动pip安装也可能会使问题复杂化;如果我安装pip,我会将它们安装到主目录,或者肯定不会安装到RPM所使用的任何供应商空间。
https://unix.stackexchange.com/questions/250269
复制相似问题