使用 Python Virtualbox API 有什么优势?

发布于 2024-08-28 18:20:49 字数 48 浏览 5 评论 0原文

使用 python virtualbox API 比使用 XPCOM 有什么优势?

what is the advantage of using a python virtualbox API instead of using XPCOM?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

坦然微笑 2024-09-04 18:20:49

优点是 pyvb 更容易使用。

相反,XPCOM 的 python API 的文档不存在,并且该 API 根本不是 pythonic。你无法进​​行内省来查找对象的方法/属性等。因此,你必须检查 C++ 源代码以了解它是如何工作的或一些已经编写的 python 脚本(例如 vboxshell.pyVBoxWebSrv.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?

り繁华旳梦境 2024-09-04 18:20:49

我通常会建议不要选择任何一种。如果您需要以编程方式使用虚拟化,请查看 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.

清欢 2024-09-04 18:20:49

来自 Sun 网站 VirtualBox python API

SOAP 允许控制远程虚拟机
HTTP
,而 XPCOM 则更多
高性能并暴露出某些
SOAP 不具备的功能。

他们使用非常不同的技术
(SOAP 是过程性的,而 XPCOM 是
OOP),但因为它最终是 API
的相同功能
VirtualBox,我们保持绑定
原始语义,除此之外
连接建立,代码可以
以人们这样的方式写
可能不在乎什么沟通
VirtualBox 实例的通道是
使用过。

从那篇文章中,我很难看出“python virtualbox API”和“XPCOM”之间的区别。您能否提供您正在考虑的 API 的链接?

From sun's site on VirtualBox python APIs:

SOAP allows to control remote VMs over
HTTP
, while XPCOM is much more
high-performing
and exposes certain
functionality not available with SOAP.

They use very different technologies
(SOAP is procedural, while XPCOM is
OOP), but as it is ultimately API to
the same functionality of the
VirtualBox, we kept in bindings
original semantics, so other that
connection establishment, code could
be written in such a way that people
may not care what communication
channel with VirtualBox instance is
used.

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?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文