可以对VirtualBox使用python3绑定吗? [英] Is it possible to use the python3 bindings for VirtualBox?
问题描述
我正在尝试使用到VirtualBox的python3绑定,但似乎存在中断的依赖关系。这对我来说似乎很奇怪,人们在过去的四年里一直存在这个问题,但却没有得到解决。也许我漏掉了一些明显的东西。这已经是众所周知的事情了。
我已经通过操作系统的包管理器安装了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'
在PyPI上有一个vboxapi
,但它不会安装,因为没有与其关联的代码,也没有任何关于PyPI页面的有用信息:
https://pypi.python.org/pypi/vboxapi
这里有几个链接指向比我更勇敢的人的英勇努力。我现在还不清楚哪一个是正确的解决方案,或者两者是否仍然相关,因为它们分别是3年前和4年前的。
https://github.com/GreatFruitOmsk/vboxapi-py3
https://github.com/jbuergel/vboxapi-py3
同样来自3年前,vboxapi.diff和集成到vboxapi的单词:
https://www.virtualbox.org/pipermail/vbox-dev/2014-April/012231.html
推荐答案
我是pyvbox
包的当前维护者。
VirtualBox SDK已经支持Python3,我使用的是Python3.5开发库。我建议卸载并重新安装最新版本的SDK(撰写本文时为5.1.22)。
您可以在VirtualBox downloads page找到SDK。解压缩该归档文件,并使用您的系统Python和以下命令运行vboxapisetup.py
文件:
python vboxapisetup.py install
您不需要在任何Virtualenv中安装它,因为pyvbox
除了在Viralenv安装之外还将搜索您的系统库,以获得更好的易用性。
如果您在运行这些步骤后在使用pyvbox
程序包时遇到问题,请打开问题并尽可能多地提供信息,包括您执行的步骤、操作系统、您的系统Python所在位置、您正在使用的VirtualBox&;SDK版本,我会尽我所能为您提供帮助。
这篇关于可以对VirtualBox使用python3绑定吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!