我正在尝试使用 VirtualBox 的 python 3 绑定,但似乎存在损坏的依赖关系。我觉得很奇怪的是,在人们遇到这个问题的四年里,这个问题还没有得到解决。也许我错过了一些明显的东西。众所周知它会发生。
我已经通过操作系统包管理器安装了 virtualbox 主机模块、sdk 和扩展。然后,通过 pip:
pip install pyvbox
导入工作:
from virtualbox import VirtualBox, Session, Manager, WebServiceManager
但是,任何实例化任何东西的尝试都会导致异常,抱怨缺少vboxapi
.
box = VirtualBox()
追溯:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/virtualbox/library_ext/vbox.py", line 22, in __init__
manager = virtualbox.Manager()
File "/usr/lib/python3.6/site-packages/virtualbox/__init__.py", line 130, in __init__
with import_vboxapi() as vboxapi:
File "/usr/lib/python3.6/contextlib.py", line 82, in __enter__
return next(self.gen)
File "/usr/lib/python3.6/site-packages/virtualbox/__init__.py", line 45, in import_vboxapi
import vboxapi
File "/home/$USER/.eclipse/org.eclipse.platform_4.6.3_155965261_linux_gtk_x86_64/plugins/org.python.pydev_5.7.0.201704111357/pysrc/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'vboxapi'
有一个vboxapi
在 PyPi 上,但它不会安装,因为没有与之关联的代码,PyPi 页面上也没有任何有用的信息:https://pypi.python.org/pypi/vboxapi https://pypi.python.org/pypi/vboxapi
这里有一些比我更勇敢的人的英勇努力的链接。考虑到它们分别来自 3 年前和 4 年前,我并不清楚哪个是正确的解决方案,或者是否仍然相关。
https://github.com/GreatFruitOmsk/vboxapi-py3 https://github.com/GreatFruitOmsk/vboxapi-py3
https://github.com/jbuergel/vboxapi-py3 https://github.com/jbuergel/vboxapi-py3
同样是在 3 年前,关于 vboxapi.diff 以及集成到 vboxapi 中的内容:
https://www.virtualbox.org/pipermail/vbox-dev/2014-April/012231.html https://www.virtualbox.org/pipermail/vbox-dev/2014-April/012231.html