【问题标题】:Launch a virtual machine remotely with Python VirtualBox API使用 Python VirtualBox API 远程启动虚拟机
【发布时间】:2016-06-17 13:53:41
【问题描述】:

我是 VirtualBox API 的新手,我正在尝试通过本地运行的 VBoxWebSrv.exe 远程启动虚拟机(用于测试)。 到目前为止,我已经这样做了:

from vboxapi import *
params = {'url' : 'http://localhost:18083',
          'user' : 'user',
          'password' : 'password'
          }
webmgr = VirtualBoxManager('WEBSERVICE', params)
vbox = webmgr.getVirtualBox()
machines = vbox.getMachines()

for mach in machines:
    session = webmgr.getSessionObject(vbox)
    progress = mach.launchVMProcess(session, "gui", "")

但是当涉及到 launchVMProcess 方法时它会崩溃。我收到此错误:

Traceback (most recent call last):
  File "C:\Users\user\git\VirtualBox-Manager\VirtualBox_Manager\src\test.py", line 45, in <module>
    progress = mach.launchVMProcess(session, "", "")
  File "C:\Program Files\Oracle\VirtualBox\sdk\bindings\webservice\python\lib\VirtualBox_wrappers.py", line 1801, in __getattr__
    return IUnknown.__getattr__(self, name)
  File "C:\Program Files\Oracle\VirtualBox\sdk\bindings\webservice\python\lib\VirtualBox_wrappers.py", line 388, in __getattr__
    raise AttributeError
AttributeError

奇怪的是,当我使用 COM(= 没有 VBoxServer.exe)时,它工作得很好。似乎该方法没有为 web 服务实现或缺少对该方法的引用或我不知道。

我使用最新的 SDK (5.0.14) 和 VirtualBox 5.0.14,主机是 Windows 8.1 64 位。 有没有办法解决这个问题?

非常感谢您的任何想法,我真的被困在这里了。

【问题讨论】:

    标签: python launch


    【解决方案1】:

    如我所想,SDK 5.0.14 的webservice 有bug,无法正常使用。此问题已在今天发布的 SDK 5.0.16 中得到修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多