我正在尝试将Centos盒用于Vagrant VM(因为我认为它与AWS Amazon Linux机器最接近)。
Amazon Linux将python2.6作为系统python,但也有一个与Amazon repo一起提供的python2.7软件包。
Centos没有可用的python2.7软件包。
当yum安装特定软件包时,我无法解析python2.7依赖项。
使用SCL python27 - 据我所知,它只适用于SCL bash会话,并且在使用yum安装软件包时不解决依赖关系。
下载python2.7并构建一个RPM包(使用FPM),使用yum和rpm进行本地安装 - 这成功安装了python2.7,但它没有解决依赖性失败
我的主机上也有一个repo(运行Fedora)来保存我所有的自定义rpm包。我将我在Centos VM上创建的rpm复制到了repo,虽然它确实安装了,但它也没有解决依赖性失败。
我现在没有想法,所以任何帮助都会受到赞赏。
这是我在尝试安装软件包时遇到的YUM错误。我在使用scl python27 shell时也得到了这个。
Error: Package: python27-djangorestframework-2.3.7-1.noarch (WFRepo)
Requires: python(abi) = 2.7
Installed: python-2.6.6-64.el6.x86_64 (@anaconda-CentOS-201508042137.x86_64/6.7)
python(abi) = 2.6
答案 0 :(得分:2)
我最终找到了解决方案。
前三十几个Google搜索告诉我make和alt安装python2.7但是在进一步搜索之后,我发现THIS我认为只是如何启用方便的epel repo的说明,但它还包括说明关于如何安装IUS回购。
我不认为IUS回购非常方便(之前从未听说过,在我读到的任何内容中都没有提及)但是我的想法已经用完所以我调查并安装了它只是为了看看有什么。事实证明,它有python27!
以下是我安装IUS repo和python27所做的工作:
确保已安装/启用epel repo。
# wget https://centos6.iuscommunity.org/ius-release.rpm
# rpm -Uvh ius-release*.rpm
# yum install python27
确保从@ius repo安装,而不是基础或更新。如果不是从ius安装,则需要使用—disablerepo='*' —enablerepo='ius'
选项进行yum安装。
安装完成后,我在系统python2.6旁边安装了python2.7,并解决了所有依赖问题。
希望这有助于其他人。
答案 1 :(得分:0)
“ WhiteFile”给出的响应帮助我解决了python 2.6(abi)问题。我正在尝试安装Cassandra 3.11,它具有对python 2.7.x的依赖关系,我使用make / make altinstall来构建它,并使用别名和路径更改了〜/ bash_profile,但它没有帮助。我仍然遇到以下错误
[root@test~]# yum install cassandra
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: centos.myfahim.com
* extras: centos.myfahim.com
* updates: centos.myfahim.com
Resolving Dependencies
--> Running transaction check
---> Package cassandra.noarch 0:3.11.4-1 will be installed
--> Processing Dependency: python(abi) >= 2.7 for package: cassandra-3.11.4-1.noarch
--> Finished Dependency Resolution
Error: Package: cassandra-3.11.4-1.noarch (cassandra)
Requires: python(abi) >= 2.7
Installed: python-2.6.6-66.el6_8.x86_64 (@anaconda-CentOS-201703281317.x86_64/6.9)
python(abi) = 2.6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
该建议不符合yum的建议。
我遵循了'WhiteFire'用户所指的方法,但又添加了一个错误,如下所示,我通过添加了一个命令解决了该问题
warning: ius-release.rpm: Header V4 DSA/SHA1 Signature, key ID 9cd4953f: NOKEY
error: Failed dependencies:
epel-release = 6 is needed by ius-release-1.0-15.ius.centos6.noarch
我使用yum安装了epel-release
wget https://centos6.iuscommunity.org/ius-release.rpm
yum install epel-release
rpm -Uvh ius-release*.rpm
yum install python27
我还没有解决下面命令的输出,因为它仍然引用python(abi)=> 2.6
rpm -q --provides python | grep abi