(Mythbuntu)升级到 XBMC 11 后,Mythbox 现在显示“无法导入名称 decryptLongLong”?

(Mythbuntu)升级到 XBMC 11 后,Mythbox 现在显示“无法导入名称 decryptLongLong”?

重要统计数据:
Mythbuntu 10.10 (maverick)
XBMC 11 - 来自 team-xbmc maverick ppa
Mythtv 0.23.1+fix(mythbuntu 10.10 的标准版本)
Mythbox 版本 1.1.0

好的,所以,我很高兴在我的 HTPC 设置上运行 XBMC 10.1,并且我看到每个人都对 XBMC 11 感到兴奋,并且它可以从 PPA 获得。

现在,当我进入 mythbox 并选择一个录音时,它会显示以下错误消息框:

Error: oninit

cannot import name decodeLongLong

这似乎只会影响其显示录音缩略图的功能。当我开始播放录音时,一切都很顺利。

这个错误信息是什么意思?有什么办法可以修复它吗?我是不是缺少了某个库?

编辑:我在这里的评论中发布了更多详细信息。

答案1

Mythbox 是用 Python 编写的,cannot import name是一个典型的 Python 异常

这与其他人倾向于相信的时区无关,而是因为 Python 试图导入不存在或至少无法访问的东西。

decodeLongLong是我们可以在神话电视 API;请注意,此函数是用 C++ 编写的,因此无法从 Python 访问,因此必须采取一些措施才能使此函数在 Python 中可用。确切地说,C++ 翻译单元可以编译并被 Python 代码使用

确实,用于调用 C++ 函数的 Python 包装器目前似乎不包含函数decodeLongLong。您必须等待响应第 203 期;不过您可以尝试安装更新的 MythTV,因为这可能是一个相对较新的功能。API0.25-pre在其首页上提到。因此,如果您愿意运行前沿代码,您可以尝试从 升级0.23.10.25-pre;如果不行,请升级到最新0.24版本,看看是否可行。

这样做会更新 Mythbox 正在使用的 Python 包装器,并希望将函数放入其中。如果这种情况动态发生,您可能需要重新安装 Mythbox,源代码没有显示任何痕迹,但可能是通过包管理器做了一些事情。安全总比后悔好。

您不需要升级任何其他东西...

答案2

(一位非 XBMC 用户正在尝试提供帮助。)

您已将此错误报告为第 203 期在 mythbox 论坛上。

令人费解的是,我在神话论坛中发现了类似的错误的踪迹,可以追溯到:

问题 6:当前主干的时区转换失败(将变为 0.24)
问题 7:修补 /trunk/mythcal 以修复“无法导入名称 MythTV”错误
问题 8:需要 Fedora 的 libmyth-python 包

该问题似乎与时区有关,甚至可能是由夏令时变化等平凡的事情引起的。

由于该问题在 mythcal 论坛上被标记为已解决(这可能与 mythbox 有关,也可能无关),因此可能值得将所有软件的所有版本更新到最新版本,如果需要,升级到主干版本。

如果即使在主干版本中该错误仍然存​​在,您最有可能在 mythbox 论坛上修复它(除非 mythbox 开发人员在这里回答)。

答案3

我在 Windows 上使用 XBMC 11.0,使用 MythBox 1.1.0。我只需要修改其中的一行addons\script.mythbox\resources\src\mythbox\mythtv\protocol.py

将第 91 行从

return decodeLongLong(int(program.getField('fs_low')), int(program.getField('fs_high'))) / 1024.0

return self.decodeLongLong(int(program.getField('fs_low')), int(program.getField('fs_high'))) / 1024.0

因为decodeLongLong无论如何都会在这个类中重新实现。

相关内容