【问题标题】:Import Error on Kivy (Android)Kivy (Android) 上的导入错误
【发布时间】:2016-07-08 06:51:14
【问题描述】:

我正在为 Android 构建一个 Kivy 应用程序。当它从终端在我的 Linux 机器上运行时,它按预期工作。当它被构建并部署到 Android 时,它会失败并出现以下错误:

I/python  (14091):  Traceback (most recent call last):
I/python  (14091):    File "{project path}/src/app/.buildozer/android/app/main.py", line 2, in <module>
I/python  (14091):    File "{project path}/src/app/.buildozer/android/app/_app.py", line 9, in <module>
I/python  (14091):  ImportError: No module named app.ui.first_screen
I/python  (14091): Python for android ended.

first_screen.py(以及随附的first_screen.kv)确实存在于ui 包中,但导入路径似乎与我的预期不同。我需要如何构建导入以在 Android 上正确加载?

【问题讨论】:

    标签: android python kivy buildozer


    【解决方案1】:

    您可以尝试将模块的路径添加到sys.path

    但也许...没有app.ui.first_screen 这样的东西。尝试只使用ui.first_screen 或这样做:

    from .<file/folder in your app folder> import <something>
    

    【讨论】:

    • 由于这将使用相对导入,因此目前会在 Android 上导致不同的错误。我已经在项目的 bug 跟踪器上报告了这个问题 (github.com/kivy/python-for-android/issues/840),尽管在 Android 上导入似乎很奇怪。
    【解决方案2】:

    不使用 buildozer 方法,你可以使用 Google colab 方法

    我已经写了一个答案 如何在这里使用 google colab https://stackoverflow.com/a/67499611/15784274

    对不起,我不能再打字了

    【讨论】:

    • 使用像 Colab 这样的基于 Web 的工具并不是一个真正有效的解决方案。如果 Colab 在后台使用的解决方案作为答案发布,那将是一个有效的解决方案。
    猜你喜欢
    • 2016-10-14
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    相关资源
    最近更新 更多