You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Fedora37升级后DNF仓库失效及Python依赖问题求助

Fedora37升级后DNF仓库失效及Python依赖问题求助

各位好,我遇到了一个棘手的问题,想请大家帮忙看看:

昨天我把Fedora 35升级到了Fedora 37,升级前系统提示我机器上特意保留的Python 2.7会被移除。因为我们还有在运行旧版本的产品需要维护,必须支持Python 2.7,所以我犹豫了一下,但还是决定先升级,之后再重新安装Python 2.7。

升级和重装Python 2.7的过程看起来都很顺利,我还重建了软链接,让系统可以同时使用Python 3.8、Python 2.7(另外我还装了Python 3.11),各个版本的Python shell都能正常启动。

但昨天我第一次发现不对劲是在执行简单的dnf list命令时,系统提示找不到文件libpython3.10.so.1.0——这完全出乎意料,因为我根本没装Python 3.10啊,为什么会找这个文件?

之后我在网上搜了不少方案尝试,但现在记不清具体操作步骤了,导致现在的情况是:任何dnf或yum命令都无法正常执行,比如运行dnf clean expire-cache会抛出如下错误:

Traceback (most recent call last):
File "/usr/bin/dnf", line 61, in
from dnf.cli import main
File "/usr/lib/python3.8/site-packages/dnf/__init__.py", line 30, in
import dnf.base
. . . .
File "/usr/lib/python3.8/site-packages/dnf/yum/rpmtrans.py", line 26, in
import rpm
ModuleNotFoundError: No module named 'rpm'

我在/usr/lib//usr/lib64/目录下找过rpm.py,只在这些路径里找到了:

  • /usr/lib/python3.8/site-packages/sos/policies/package_managers/rpm.py
  • /usr/lib/python3.8/site-packages/sos/report/plugins/rpm.py
  • /usr/lib/python3.11/site-packages/sos/policies/package_managers/rpm.py
  • /usr/lib/python3.11/site-packages/sos/report/plugins/rpm.py

因为错误提示是在/usr/lib/python3.8/site-packages/dnf/yum/rpmtrans.py里导入rpm失败,我试着把上面的rpm.py复制到几个Python 3.8的目录里,比如:

  • /usr/lib/python3.8/site-packages/dnf/rpm/rpm.py
  • /usr/lib/python3.8/site-packages/dnf/yum/rpm.py

但问题还是没解决。我在网上搜了重装dnf/yum的方法,但大部分结果都是说重装单个包,而不是整个仓库。我觉得我需要重置整个dnf/yum仓库,从头开始配置,再安装需要的包,尽量不想重装整个系统。

麻烦各位给点建议,非常感谢!

备注:内容来源于stack exchange,提问作者Tim H

火山引擎 最新活动