RecycleView导致Kivy可执行文件崩溃。

3

我按照Kivy文档中的说明,尝试将应用程序打包为Windows版本,但是当我尝试运行它时,我的应用程序会崩溃。回溯信息的最后一行提示了我的RecycleView小部件存在问题:

   File "C:\Users\awende\AppData\Local\Continuum\Anaconda3\lib\site-packages\kivy\factory.py", line 139, in __getattr__
     module = __import__(name=item['module'], fromlist='.')
 ModuleNotFoundError: No module named 'kivy.uix.recycleview.__init__.'
Failed to execute script SingleTabApp

我已经尝试在所有尚未导入kivy.uix.recycleview的.py和.kv文件中导入它,但这似乎不是问题所在。我不确定这是否是我的代码的问题,还是其他问题正在发生。
其他可能相关的信息:
- 我正在使用Python 3.6.1和当前的PyInstaller开发版本。 - Kivy版本为1.10.0。 - SingleTabApp是我的主要Python脚本的名称,并且在使用PyInstaller之前正常工作。

1
我遇到了同样的问题,并在Github上开了一个Kivy问题(https://github.com/kivy/kivy/issues/5276)。似乎有人在那里找到了解决方案(我还没有时间测试)。 - Ruediger Jungbeck
2个回答

0

我在 Windows 7 上使用 PyInstaller 时遇到了同样的问题。 我对 factory_registers.py 进行了快速修复,它奏效了! (https://github.com/kivy/kivy/issues/5276)

修复这个问题的一个快速方法是将例如 r('RecycleViewBehavior', module='kivy.uix.recycleview.init') 更改为 r('RecycleViewBehavior', module='kivy.uix.recycleview')。

PS factory_registers.py 还有 r('RecycleView', module='kivy.uix.recycleview.__init__'),我没有修改它。


0

安装最新版本的Cython,注意Cython的版本与Kivy有对应关系。要实现RecycleView,你的“package apk”中的Kivy版本必须至少为1.10,而不是你计算机上的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接