2012-05-01 38 views
0

我想運行一個使用python sdk的VirtualBox機器。VirtualBox Python SDK,closeMachineSession - > XPCOM組件沒有屬性'關閉'

我跑到下面的命令(基於documentation第32頁):

from vboxapi import VirtualBoxManager 
manager = VirtualBoxManager(None, None) 
vbox = manager.vbox 
name = "myVM" 
mach = vbox.findMachine(name) 
session = manager.mgr.getSessionObject(vbox) 
progress = mach.launchVMProcess(session, "gui", "") 

progress.waitForCompletion(-1) #successfully fires up myVM w/ GUI 

manager.closeMachineSession(session) #error, see below 

我得到的錯誤是:

raise AttributeError, "XPCOM component '%s' has no attribute '%s'" % (self._object_name_, attr) AttributeError: XPCOM component '@virtualbox.org/Session;1' has no attribute 'close'

我試圖關閉和蟒蛇關閉VM。

問題:
如何解決此錯誤並使用python關閉虛擬機?

回答

1

session.console.powerDown()做了詭計(我不得不rtfm)。我仍然很想知道該文檔的意圖。

+0

只是猜測,XPCOM文檔已過時。必須真正挖掘源代碼,但我想''manager.closeMachineSession(session)'翻譯成'session.close()'的調用,但是這種方法已被淘汰或不再通過XPCOM碎片化。 – David