0

我正在尝试在我的 Python3.6 代码中使用 DNF API,但每次都会收到 RuntimeError:

>>> import dnf
>>> base = dnf.Base()
>>> base.read_all_repos()
>>> base.fill_sack()
>>> module_base = dnf.module.module_base.ModuleBase(base)
>>> module_base.enable(['php:7.2'])
>>> base.do_transaction()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 882, in do_transaction
    self._moduleContainer.save()
  File "/usr/lib64/python3.6/site-packages/libdnf/module.py", line 1348, in save
    return _module.ModulePackageContainer_save(self)
RuntimeError: basic_ios::clear: iostream error

文档中的示例代码(https://dnf.readthedocs.io/en/latest/api_module.html)使用 'nodejs:11' 而不是 'php:7.2' 但无论我尝试启用的模块如何,都会发生此错误.

当我尝试安装它们时,我已经启用(通过标准 dnf 命令行)的包也会出现此错误。例如

>>> module_base.install(['scala:2.10/common'])
>>> base.do_transaction()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 882, in do_transaction
    self._moduleContainer.save()
  File "/usr/lib64/python3.6/site-packages/libdnf/module.py", line 1348, in save
    return _module.ModulePackageContainer_save(self)
RuntimeError: basic_ios::clear: iostream error

我尝试从头开始启动一个新的 Rocky8 VM,配置网络(以便能够访问存储库)并运行此代码,它给了我完全相同的错误,所以我知道它不是本地配置设置(除非这是 Rocky8 中的默认设置吗?)。

我知道这是一个 C++ 错误,但我已经有十多年没有接触过 C++,因此我们将不胜感激。

4

0 回答 0