由于不同的 ModuleNotFoundError 原因,Buildozer 不断崩溃

Posted

技术标签:

【中文标题】由于不同的 ModuleNotFoundError 原因,Buildozer 不断崩溃【英文标题】:Buildozer keep crashing for different ModuleNotFoundError reasons 【发布时间】:2021-09-25 22:06:36 【问题描述】:

好的,我知道还有其他帖子,但无法与任何帖子相关,所以,在这里和我一起裸露

为什么我没有发布代码:发生在多个代码中

像往常一样,我对 buildozer.spec 文件要求的所有导入都有。

我能够运行 NP 的简单应用程序。

但我实际上正在开发一个更大的应用程序,它可以连接到 googlesheets 以下载数据。 (我不认为这个问题与谷歌有关——其他不依赖它的项目也会崩溃)。

所以我开始遇到非常奇怪的崩溃,例如: "ModuleNotFoundError: 没有名为 imageio 的模块"

好的,我从来没有要求导入 imageio。但是当我将 imageio 放入需求(在 buildozer.spec 上)时,突然找不到其他模块,这将永远持续下去。

认为值得注意:它在本地操作系统 (Ubuntu 20) 上运行 我正在使用虚拟环境。 Buildozer 能够构建和安装 apk。

我有什么遗漏吗?它已经持续了几个月,我非常不愿意发布,因为这很奇怪,但找不到任何寻找答案的东西。所以,任何帮助都会很棒!

我尝试过使用 Python3.8 和 3.9

【问题讨论】:

【参考方案1】:

对于使用其他第三方模块并遇到 Module Not Found 错误和应用程序崩溃

的初学者来说,这是常见的问题

这是因为:

--> 即使您只使用了一个第三方模块 - 第三方模块本身也包含其他第三方模块

所以基本上当您添加时:例如:torch,它可能使用其他第三方模块,例如:numpy 因此,即使您将 torch 添加到 .spec 文件 ,应用程序也可能会因抛出 Module Not Found Error [numpy] 而崩溃。。 p>

此示例问题的解决方案是:您必须在 .spec 文件中的要求中添加 numpy

因此,此类问题的基本且最常见的解决方案是

--> 每次运行应用程序并记下未找到哪些模块并将该模块添加到 .spec 文件中

当所有第三方模块都满意时,您的应用将像黄油一样运行:)

【讨论】:

这正是我的方法。除了这似乎属于反复试验而不是实际解决问题的领域。就像我说的。它一遍又一遍地要求模块。在我看来,kivymd==0.104.1(而不是版本 0.104.2)解决了这个问题(ModuleNotFoundError 问题)。仍然有一些应用内崩溃,但不知道这是否相关。 应用程序崩溃可能是因为您的 Python 代码导致的,因为 Kivy 首先检查了所有第三方模块。检查你的 Python 代码,看看你是否犯了错误:) 是的。混合空格和制表符的常见错误...>

以上是关于由于不同的 ModuleNotFoundError 原因,Buildozer 不断崩溃的主要内容,如果未能解决你的问题,请参考以下文章

错误:ModuleNotFoundError: No module named ‘httplib‘

pandas_datareader 的 ModuleNotFoundError:Jupyter Notebook 使用来自 conda 环境的不同包

ModuleNotFoundError:没有名为“wsgi”的模块

ModuleNotFoundError 尽管包安装

ModuleNotFoundError: No module named 'pyspark' 解决方案

ModuleNotFoundError: No module named 'pyspark' 解决方案