You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装libvirt,为何pip安装libvirt-python仍失败报错?

在RHEL 9.2上安装libvirt-python失败的问题

环境信息

  • 系统:RHEL 9.2
  • Python版本:3.9.16
  • 已通过dnf安装libvirt和KVM组件,virsh命令可正常管理虚拟机,但通过pip/pipenv安装libvirt-python时持续报错。

安装报错日志

$ pip install libvirt-python

Defaulting to user installation because normal site-packages is not writeable
Collecting libvirt-python
  Downloading libvirt-python-9.7.0.tar.gz (132 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.1/132.1 kB 6.0 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: libvirt-python
  Building wheel for libvirt-python (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for libvirt-python (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [51 lines of output]
      running bdist_wheel
      running build
      running build_py
      Package 'libvirt' was not found
      Traceback (most recent call last):
        File "/home/bill/.local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/bill/.local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/bill/.local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 434, in build_wheel
          return self._build_with_temp_dir(
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 419, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 341, in run_setup
          exec(code, locals())
        File "<string>", line 284, in <module>
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-cx5clem5/normal/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
          self.run_command("build")
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-cx5clem5/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "<string>", line 166, in run
        File "<string>", line 35, in check_minimum_libvirt_version
        File "/usr/lib64/python3.9/subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['pkg-config', '--print-errors', '--atleast-version=0.9.11', 'libvirt']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for libvirt-python
Failed to build libvirt-python
ERROR: Could not build wheels for libvirt-python, which is required to install pyproject.toml-based projects

已安装的libvirt相关包

$ sudo dnf list | grep libvirt

libvirt.x86_64                                       9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-client.x86_64                                9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon.x86_64                                9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-config-network.x86_64                 9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-config-nwfilter.x86_64                9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-interface.x86_64               9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-network.x86_64                 9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-nodedev.x86_64                 9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-nwfilter.x86_64                9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-qemu.x86_64                    9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-secret.x86_64                  9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage.x86_64                 9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-core.x86_64            9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-disk.x86_64            9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-iscsi.x86_64           9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-logical.x86_64         9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-mpath.x86_64           9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-rbd.x86_64             9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-driver-storage-scsi.x86_64            9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-daemon-kvm.x86_64                            9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-dbus.x86_64                                  1.4.1-5.el9                         @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-glib.x86_64                                  4.0.0-3.el9                         @rhel-9-for-x86_64-appstream-eus-rpms
libvirt-libs.x86_64                                  9.0.0-10.3.el9_2                    @rhel-9-for-x86_64-appstream-eus-rpms
pcp-pmda-libvirt.x86_64                              6.0.1-5.el9_2                       @rhel-9-for-x86_64-appstream-eus-rpms
python3-libvirt.x86_64                               9.0.0-1.el9                         @rhel-9-for-x86_64-appstream-eus-rpms
fence-virtd-libvirt.x86_64                           4.10.0-43.el9                       rhel-9-for-x86_64-appstream-eus-rpms
fence-virtd-libvirt.x86_64                           4.10.0-43.el9                       rhel-9-for-x86_64-appstream-rpms
libvirt-nss.x86_64                                   9.0.0-10.3.el9_2                    rhel-9-for-x86_64-appstream-eus-rpms
libvirt-nss.x86_64                                   9.0.0-10.3.el9_2                    rhel-9-for-x86_64-appstream-rpms

问题原因及解决办法

核心原因

报错提示Package 'libvirt' was not found,本质是编译libvirt-python需要libvirt的开发包(包含头文件、pkg-config配置文件),当前仅安装了运行时组件,缺少编译依赖。另外,系统已通过dnf安装了python3-libvirt.x86_64,这是官方适配的版本,完全满足使用需求。

解决步骤

  • 直接使用系统自带包(推荐)
    无需额外安装,直接调用系统已有的python3-libvirt:

    python3 -c "import libvirt; print(libvirt.__version__)"
    

    输出版本号即表示可用。

  • 强制通过pip安装的处理方式
    先安装libvirt开发依赖:

    sudo dnf install libvirt-devel
    

    为避免版本兼容问题,指定与系统libvirt匹配的版本安装:

    pip install libvirt-python==9.0.0
    

内容的提问来源于stack exchange,提问作者Dan Largo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:00:53