首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yum +预先存在的rpmdb问题+ yum抱怨已经安装的软件包

yum +预先存在的rpmdb问题+ yum抱怨已经安装的软件包
EN

Unix & Linux用户
提问于 2020-08-31 04:44:37
回答 1查看 1.9K关注 0票数 0

我们正在尝试安装以下rpm,但在HIL7.2服务器上没有成功

代码语言:javascript
复制
 uname -r
3.10.0-327.el7.x86_64



yum install  python2-cryptography-1.7.2-2.el7.x86_64.rpm
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
.
.
.
--> Processing Dependency: python-cffi >= 1.4.1 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-idna >= 2.0 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-pyasn1 >= 0.1.8 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-ipaddress for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Finished Dependency Resolution
Error: Package: python2-cryptography-1.7.2-2.el7.x86_64 (/python2-cryptography-1.7.2-2.el7.x86_64)
           Requires: python-ipaddress
Error: Package: python2-cryptography-1.7.2-2.el7.x86_64 (/python2-cryptography-1.7.2-2.el7.x86_64)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)
Error: Package: python2-cryptography-1.7.2-2.el7.x86_64 (/python2-cryptography-1.7.2-2.el7.x86_64)
           Requires: python-cffi >= 1.4.1
           Available: python-cffi-0.8.6-2.el7.x86_64 (local)
               python-cffi = 0.8.6-2.el7
Error: Package: python2-cryptography-1.7.2-2.el7.x86_64 (/python2-cryptography-1.7.2-2.el7.x86_64)
           Requires: python-pyasn1 >= 0.1.8
           Available: python-pyasn1-0.1.6-2.el7.noarch (local)
               python-pyasn1 = 0.1.6-2.el7
Error: Package: python2-cryptography-1.7.2-2.el7.x86_64 (/python2-cryptography-1.7.2-2.el7.x86_64)
           Requires: python-idna >= 2.0
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
containerd.io-1.2.13-3.1.el7.x86_64 has installed conflicts containerd: containerd.io-1.2.13-3.1.el7.x86_64
containerd.io-1.2.13-3.1.el7.x86_64 has installed conflicts runc: containerd.io-1.2.13-3.1.el7.x86_64

因为我们得到了pre-existing rpmdb problem(s)

我们表演了翻滚

代码语言:javascript
复制
package-cleanup --dupes
package-cleanup --cleandupes 

但问题仍然存在

我们还发现yum所需的python包实际上已经安装好了。

示例

代码语言:javascript
复制
pip list | grep idna
idna                               2.10

pip list | grep  pyasn1
pyasn1                             0.1.9

因此,我们不明白yum为什么抱怨python包已经安装了正确的版本。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-08-31 06:20:25

您似乎使用pipyum来安装软件包。pip安装的包在yum中是不可见的,这就是安装失败的原因。

这篇关于opensource.com的文章很好地解释了关注的问题:以正确的方式管理Python包。我将在这里总结关键信息。

使用pip (与sudo pip install一起)全局安装包时,将包安装到通常由OS包管理器控制的系统级位置。但是,包管理器不知道包,这使得安装与已安装包的数据库不一致。在极端情况下,这可能会导致依赖Python的系统级应用程序(例如yum本身)出现问题。

通常,在全局安装Python模块时,您应该更喜欢系统的本机包管理器。这些包都是用操作系统的特定版本进行测试的,所以它们应该更可靠。

如果您确实希望使用pip安装包,建议使用虚拟环境。使用virtualenv,您可以得到一个本地安装,您可以根据需要修改它。您可以安装所需的任何软件包,而不会危及整个系统的完整性。

和往常一样,这两种方法之间都有取舍。在你开始之前仔细地评估它们。

在您的具体情况下,您可以使用pip删除模块,然后通过yum重新安装它。我不能保证这是可行的,所以要谨慎,首先测试这个方法。

关于实际的包,我找到了CentOS 7的列表。在RHEL上,您可能需要软件集合存储库来获得这个包。再次,在决定继续执行此路由之前,请确保RPM包在某个通道上可用。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/607129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档