使用 Python Virtualbox API 有什么优势?
使用 python virtualbox API 比使用 XPCOM 有什么优势?
what is the advantage of using a python virtualbox API instead of using XPCOM?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
优点是 pyvb 更容易使用。
相反,XPCOM 的 python API 的文档不存在,并且该 API 根本不是 pythonic。你无法进行内省来查找对象的方法/属性等。因此,你必须检查 C++ 源代码以了解它是如何工作的或一些已经编写的 python 脚本(例如 vboxshell.py 和 VBoxWebSrv.py)。
另一方面,pyvb 实际上只是在命令行上调用 VirtuaBoxManager 的 python 包装器。不知道这算不算真正的劣势?
The advantage is that pyvb is lot easier to work with.
On the contrary the documentation for the python API of XPCOM doesn't exist, and the API is not pythonic at all. You can't do introspection to find methods/attributes of an object, etc. So you have to check the C++ source to find how it works or some python scripts already written (like vboxshell.py and VBoxWebSrv.py).
On the other hand pyvb is really just python wrapper that call VirtuaBoxManager on the command line. I don't know if it's a real disadvantage or not?
我通常会建议不要选择任何一种。如果您需要以编程方式使用虚拟化,请查看 libvirt,它为您提供跨平台和跨虚拟机管理程序支持;稍后您可以使用 kvm/xen/vz/vmware。
也就是说,SOAP api 使用两个额外的抽象层(HTTP 事务的客户端和服务器端),这与调用 XPCOM 接口相比非常清楚。
如果您只需要本地主机支持,请使用 XPCOM。 libvirt/SOAP 的额外间接性对您没有帮助。
如果您需要跨多个客户端计算机访问不同主机上的 virtualbox,请使用 SOAP 或 libvirt
如果您需要跨平台支持,或者要在 Linux 上运行代码,请使用 libvirt。
I would generally recommend against either one. If you need to use virtualization programmatically, take a look at libvirt, which gives you cross platform and cross hypervisor support; which lets you do kvm/xen/vz/vmware later on.
That said, the SOAP api is using two extra abstraction layers (the client and server side of the HTTP transaction), which is pretty clearly then just calling the XPCOM interface.
If you need local host only support, use XPCOM. The extra indirection of libvirt/SOAP doesn't help you.
If you need to access virtualbox on a various hosts across multiple client machines, use SOAP or libvirt
If you want cross platform support, or to run your code on Linux, use libvirt.
来自 Sun 网站 VirtualBox python API:
从那篇文章中,我很难看出“python virtualbox API”和“XPCOM”之间的区别。您能否提供您正在考虑的 API 的链接?
From sun's site on VirtualBox python APIs:
From that article, I'm having trouble seeing the difference between "python virtualbox API" and "XPCOM". Could you provide a link to the API you're thinking of?