【问题标题】:Centos Python2.7 YUM Dependency Resolution with Python2.7Centos Python2.7与Python2.7的YUM依赖解析
【发布时间】:2016-08-27 23:03:15
【问题描述】:

我正在尝试将 Centos 机器用于 Vagrant VM(因为我认为它最接近 AWS Amazon Linux 机器)。

问题

Amazon Linux 有 python2.6 作为系统 python,但也有一个 python2.7 包可用于 Amazon repo。

Centos 没有可用的 python2.7 软件包。

yum 安装特定软件包时无法解析 python2.7 依赖项。

我尝试过的事情

  1. 使用 SCL python27 - 据我所知,它仅适用于 SCL bash 会话,并且在使用 yum 安装软件包时不解决依赖关系。

  2. 下载 python2.7 并构建一个 RPM 包(使用 FPM)以使用 yum 和 rpm 本地安装 - 这成功安装了 python2.7,但它不能解决依赖关系失败

  3. 我的主机(运行 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

【问题讨论】:

  • 您在尝试 SCL 存储库时看到了哪些依赖错误?
  • @RaviTezu 我收到以下错误:包:python27-djangorestframework-2.3.7-1.noarch (WFRepo) 要求:python(abi) = 2.7 已安装:python-2.6.6- 64.el6.x86_64 (@anaconda-CentOS-201508042137.x86_64/6.7) python(abi) = 2.6 ` 当我说它不能解决依赖问题时,这就是我总是得到的。

标签: linux python-2.7 centos


【解决方案1】:

我终于找到了解决办法。

前 30 次奇怪的 Google 搜索告诉我 make 和 alt install python2.7 但在进一步搜索后,我发现 THIS 我认为这只是关于如何启用方便的 epel repo 的说明,但它还包括关于如何启用的说明安装 IUS 存储库。

我认为 IUS 存储库不是很方便(之前从未听说过,并且在我之前读过的任何内容中都没有提及)但是我的想法已经用完了,所以我研究了它并安装了它只是为了看看有什么可用的。原来,它有python27!

以下是我为安装 IUS 存储库和 python27 所做的:

确保您已安装/启用 epel repo。

# wget https://centos6.iuscommunity.org/ius-release.rpm
# rpm -Uvh ius-release*.rpm
# yum install python27

确保它是从@ius 存储库安装的,而不是基础或更新。如果不是从 ius 安装,则需要使用 —disablerepo='*' —enablerepo='ius' 选项进行 yum 安装。

安装后,我有 python2.7 和系统 python2.6,我所有的依赖问题都解决了。

希望这对其他人有所帮助。

【讨论】:

    【解决方案2】:

    'WhiteFile' 给出的响应帮助我解决了我的 python 2.6 (abi) 问题。我试图安装依赖于 python 2.7.x 的 Cassandra 3.11,我使用 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
    

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2013-10-06
      • 1970-01-01
      • 2015-07-18
      相关资源
      最近更新 更多