2022 年如何使用 Python 库设置 VirtualBox 界面?

问题描述 投票:0回答:3

我在运行 Windows 10 的主机上本地安装了 VirtualBox。我可以通过 VirtualBox GUI 应用程序启动和运行 Ubuntu 虚拟机。

我需要能够使用 python 管理该虚拟机的状态。据我所知,我追求这一目标的唯一途径是:

使用 2017 年 6 月的这篇 非常相似的帖子,当时由 vboxapi

 维护者/
virtualbox-python
 存储库托管者回答,我猜测该过程应该是轻松导入 
virtualbox
vboxapi
 图书馆。

但是,当我运行任一库的函数时,我收到错误

No module named 'vboxapi

'。

要解决这个问题,我应该能够:

    转到 VirtualBox 的下载页面 (
  1. https://www.virtualbox.org/wiki/Downloads) 并下载 VirtualBox SDK。
  2. 解压 zip 文件。
  3. 导航到子目录“sdk\installer”
  4. 使用管理员模式打开此子目录中的命令提示符。
  5. 运行
  6. python vboxapisetup.py install
这应该安装

vboxapi

,但我收到以下错误:

C:\Users\PATH_HERE\VirtualBoxSDK-6.1.30-148432\sdk\installer>python vboxapisetup.py install Cleaning COM cache at C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\Lib\site-packages\win32com\gen_py and C:\Users\USER_HERE\AppData\Local\Temp\gen_py running install running build running build_py copying vboxapi\__init__.py -> build\lib\vboxapi running install_lib creating C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\Lib\site-packages\vboxapi error: could not create 'C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\Lib\site-packages\vboxapi': Access is denied
这是路径错误吗?我是否忽略了环境变量中的一些简单内容?

这篇文章针对 ubuntu 主机上的相同问题建议运行以下命令:

export VBOX_INSTALL_PATH=$(which VirtualBox) sudo -E python vboxapisetup.py install
我可以在这里尝试一个 Windows 等效方法吗?

python python-3.x virtualbox
3个回答
0
投票
所以我永远无法直接从 python 中运行任何类型的 VirtualBox 管理软件:列出的库都不适合我。

相反,我最终所做的是执行调用 VBoxManage 的 bash shell 脚本以及所需的每个后续命令。然后我必须将结果(从 VBoxManage 输出到终端的文本)传输回 Python 并解析文本。


0
投票
可以在互联网的其他角落找到一些支持,例如

https://kodekloud.com/community/t/missing-dependency-python-core-win32api/215281/27

简而言之 - 从 Python 网站 (

下载 Python | Python.org) 安装适用于 Windows 的 Python,然后运行以下命令之一:

pip install pywin32


或:

py -m pip install pywin32


请注意,您可能还需要重新安装 VirtualBox 才能使更改生效。


0
投票

如何在 Windows 上的 Python 中设置和使用 vboxapi 与 VirtualBox

要使用 Python 与 VirtualBox 交互,您可以使用 vboxapi 模块,它是 VirtualBox SDK 的一部分。

1。安装 VirtualBox

首先,确保您的系统上安装了 VirtualBox。您可以从

VirtualBox官网下载。

2。下载 VirtualBox SDK

从 VirtualBox SDK 部分下载 VirtualBox SDK。查找

“软件开发工具包 (SDK)”部分并下载 适合您的 VirtualBox 安装的版本。

3.解压SDK

将下载的 SDK 存档解压到系统上的目录中。

4。设置Python环境

您需要设置 PYTHONPATH 以包含 vboxapi 模块所在的目录。该目录通常位于 SDK 的 bindings/xpcom/python 目录中。

在 Windows 上:

打开命令提示符:按 Win + R,输入 cmd,然后按 Enter。

设置 PYTHONPATH:使用以下命令为当前会话设置 PYTHONPATH:

set PYTHONPATH=C:\path\to\sdk\bindings\xpcom\python;%PYTHONPATH%
确保将 C:\path o\sdk indings\xpcom\python 替换为您提取 VirtualBox SDK 的实际路径。

要在系统属性中永久设置 PYTHONPATH:

    右键单击桌面上或文件资源管理器中的“此电脑”或“计算机”。
  • 选择属性。
  • 单击左侧的高级系统设置。
  • 单击环境变量按钮。
  • 添加新的 PYTHONPATH 变量:
  • 在环境变量窗口中,单击系统变量部分下的新建。
  • 将变量名称设置为 PYTHONPATH。
  • 将变量值设置为 C:\path o\sdk indings\xpcom\python。
  • 单击“确定”。

5。验证 PYTHONPATH

要验证 PYTHONPATH 设置是否正确,可以 echo 环境变量:

echo %PYTHONPATH%
您应该看到您设置的路径,表明 PYTHONPATH 已正确配置。

6。在 Python 中使用 vboxapi

这是使用 vboxapi 截取屏幕截图的示例脚本:

import vboxapi vbox_mgr = vboxapi.VirtualBoxManager(None, None) vbox = vbox_mgr.vbox session = vbox_mgr.mgr.getSessionObject(vbox)
    
© www.soinside.com 2019 - 2024. All rights reserved.