NetBSD9.2运行virt-manager报libvirt模块缺失及编译py-libvirt报错如何解决
报错原因分析
你遇到的make报错是由两个路径配置错误导致的:
- pkgsrc-wip目录没有放置在正式pkgsrc源码树的根目录下,Makefile中写的相对路径
../../无法定位到pkgsrc的核心配置目录和其他软件包目录 - py-libvirt的Makefile仍在引用wip中的libvirt包,当前NetBSD 9.2的正式pkgsrc已经将libvirt收归到
sysutils分类下,不需要从wip获取
修复步骤
- 先确认你已经部署了正式的pkgsrc源码树,默认路径为
/usr/pkgsrc,如果未部署可先通过pkgin安装或官方渠道下载解压到该路径。 - 将你放在桌面的pkgsrc-wip目录整体移动到正式pkgsrc根目录下,执行命令:
mv /home/mario/Desktop/pkgsrc-wip /usr/pkgsrc/wip
- 编辑py-libvirt的Makefile文件,修改libvirt依赖的引入路径:
打开/usr/pkgsrc/wip/py-libvirt/Makefile,将
.include "../../wip/libvirt/buildlink3.mk"
修改为
.include "../../sysutils/libvirt/buildlink3.mk"
- 先安装libvirt基础包,避免编译依赖缺失:
pkgin install libvirt
如果pkgin源中版本不匹配,也可以进入/usr/pkgsrc/sysutils/libvirt目录执行make install编译安装。
5. 进入py-libvirt目录编译安装对应Python版本的绑定包,如果你用的是Python3,可指定版本编译:
cd /usr/pkgsrc/wip/py-libvirt PYTHON_VERSION_DEFAULT=39 make install
(可根据你系统中virt-manager依赖的Python版本调整版本号,比如38、310等)
6. 安装完成后重新运行virt-manager即可解决ImportError: No module named libvirt报错。
内容的提问来源于stack exchange,提问作者john_connor
相关产品推荐
相关产品推荐

