![RHEL7.7:python3 与 python3-devel 版本不兼容](https://linux22.com/image/746379/RHEL7.7%EF%BC%9Apython3%20%E4%B8%8E%20python3-devel%20%E7%89%88%E6%9C%AC%E4%B8%8D%E5%85%BC%E5%AE%B9.png)
首先,我不太熟悉 RedHat/rpm 发行版系统,私下里更喜欢 Debian 类型。在我管理的一台服务器上从 RHEL7.4 更新到 RHEL7.7 后,我收到以下消息:
Error: Package: python36-devel-3.6.8-2.el7.ius.x86_64 (@ius)
Requires: python36-devel-3.6.8-2.el7.ius
Removing: python36-3.6.8-2.el7.ius.x86_64 (@ius)
python36 = 3.6.8-2.el7.ius
Obsoleted By: python3-3.6.8-10.el7.x86_64 (rhel-7-server-rpms)
python36 = 3.6.8-10.el7
我是这样理解的:我安装了 python36-devel-3.6.8-2,它依赖于 python36-3.6.8-2,后者也已安装(两者均是前段时间从 IUS 安装的)。但是,yum 想要将 python36-3.6.8-2 从当前的 RHEL7.7 发行版升级到 python3-3.6.8-10,但它无法做到,因为这会破坏对 python36-devel-3.6.8-2 的依赖关系
我已经搞定了
$ sudo yum clean metadata
$ sudo yum install epel-release ius-release
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Package epel-release-7-12.noarch already installed and latest version
Package ius-release-2-1.el7.ius.noarch already installed and latest version
Nothing to do
$ sudo yum update
[ ...error message like above... ]
Enable all repositories and try again? [y/N]: y
[ ...error message like above... ]
所以我的问题是:如何同步我的 python(-devel)包?
注意:我还使用带有 mod_wsgi 的 Apache。由于我的所有 Python3 内容都在虚拟环境中,因此我可以从头开始安装 Python3,并使该环境中的所有内容(包括 mod_wsgi)都干净整洁。但我担心这会导致 Apache 和 mod_wsgi 之间的兼容性问题。是的,我需要 python3-devel,因为我还使用 C 扩展。
答案1
这与 epel 或 ius 无关。这解决了它:
$ sudo subscription-manager repos --enable rhel-7-server-optional-rpms