【发布时间】:2014-06-26 01:44:47
【问题描述】:
我正在开发一个 XBMC 插件,它需要一些 Python 模块,这些模块无法通过 addon.xml 中的 requires 标记获得(据我所知,它们不在 XBMC 存储库中)。插件开发的文档似乎表明您可以通过将模块添加到插件目录的 resources/lib/ 子目录来做到这一点。
我已经这样做了,在 XBMC 中对其进行测试时,我在尝试导入此模块时遇到导入错误,因为找不到它。
我已经阅读了我在 SO 上找到的关于该主题的另一个问题,题为 Importing a python module into XBMC for use within an addon,但是那里提出的解决方案,即在导入之前将模块目录添加到路径中,对我也不起作用。我得到相同的导入错误。
事实上,我认为这个答案并不正确,因为 XBMC 中的 os.getcwd() 在从插件中调用时不会返回插件目录路径;因此,将它提供的路径与 /resources/lib 连接起来,正如答案所暗示的那样,不会产生有效的路径。我修改了示例以使用 getAddonInfo 通过 xbmcaddon 模块从 Addon 对象中查找插件路径,并将其添加到与 /resources/lib 连接的路径中,但它仍然不起作用。
将模块放入插件目录的根目录也不起作用。除了最初的教程说我应该将它添加到 resources/lib 子目录之外,我还没有找到关于如何正确执行此操作的特定文档。
那么有谁知道如何做到这一点,或者有一个在另一个 XBMC 插件中成功完成的例子?
【问题讨论】:
标签: python plugins module python-import xbmc