(本機環境:win7;python 2.7.9; vbox 4.3.12)
目標:
完成官網(https://pypi.python.org/pypi/pyvbox)上的demo:
> python In [1]: import virtualbox In [2]: vbox = virtualbox.VirtualBox() In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines])) VM(s): + filestore + xpsp3 + win7 + win8 + test_vm
1 安裝python——vbox組件
---------------------安裝vboxapi------------------------------------------
這個路徑下有個vboxapisetup.py


C:\Program Files\Oracle\VirtualBox\sdk\install

pyvbox需要用到vboxapi庫。
python vboxapisetup.py install (如果成功,跳過看2;失敗請繼續)
可能會出現錯誤:


這是說安裝腳本不知道vbox安裝路徑在哪里。我們需要指定。


set VBOX_INSTALL_PATH="C:\Program Files\Oracle\VirtualBox"
這次安裝試一下:




成功!
獨立安裝vboxapi:
這個url下,有各個版本的vbox各種安裝文件。


解壓
VirtualBoxSDK-4.3.12-93733\sdk\installer
中有vboxapisetup.py
用同上的方法安裝。
---------------------安裝
pywin32
------------------------------------------


下載相對應的版本。我的是32位python。(不會查看的話,進入python,會提示


)
2 簡單使用
試運行:
> python In [1]: import virtualbox In [2]: vbox = virtualbox.VirtualBox() In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines])) VM(s): + filestore + xpsp3 + win7 + win8 + test_vm
如果出現:


去1查看“安裝pywin32一節”
成功之后的樣子:


3 高級應用
vbox官方出了一個功能比較強大的python腳本——vboxshell.py
D:\ccode\vbox>python vboxshell.py
Running VirtualBox version 4.3.12
vbox> help
Help page:
alias: Control aliases
attachCtr: Attach storage controller to the VM: attachCtr win Ctr0 IDE ICH6
attachHdd: Attach HDD to the VM: attachHdd win /disk.vdi "IDE Controller" 0:1
attachIso: Attach CD/DVD to the VM: attachIso win /os.iso "IDE Controller" 0:1
attachUsb: Attach USB device to the VM (use listUsb to show available devices): attachUsb win uuid
... ...
verbose: Toggle verbosity
vbox>
查看信息
vbox> info droid4x
One can use setvar <mach> <var> <value> to change variable, using name in [].
Name [name]: droid4x
... ...
Location: D:\code\client\Refactor\Droid4X\tinyplayer\Release\VirtualBox VMs\droid4x\droid4x-disk3.vmdk
Name: droid4x-disk3.vmdk
Format: VMDK
Shared folders:
vbox>
完畢!