为 android 打包时,Buildozer 未使用正确的 kivy 版本
Buildozer not using correct kivy version when packaging for android
我在为 android 打包我的 Kivy 应用程序时遇到了一些问题,这些问题可能相关,也可能不相关:
- 除 Kivy 外,我的应用程序唯一导入的包是时间和数学模块。当我将它们中的一个或两个添加到 buildozer 规范文件中的要求时,我得到一个“pip._internal.exceptions.DistributionNotFound:时间没有匹配的分布。”错误。当我不将它们包含在我的要求中时,构建成功,但在打开时崩溃并出现错误:
- “异常:本系统安装的Kivy版本太旧。(你有1.11.1,但应用需要2.0.0)”
我正在 Ubuntu 上的 VirutalBox 中进行安装,并遵循了 Kivy 和 Buildozer 文档中概述的安装过程,并遵循了 Eric Sandberg 在 YouTube 上的教程。我已经在 buildozer spec 文件中设置了 Kivy 版本,并使用 pip 在 VM 上安装了 Kivy 2.0.0。当我 pip freeze 时,它显示了正确的 Kivy 版本。我注意到的一件事是,当我尝试使用“apt-get install python3-kivy”安装它时,它说 kivy 1.10 已安装并且这是最新版本。
这似乎是一个容易解决的问题,但我无法弄清楚为什么要尝试使用这个版本的 Kivy!如果调试需要任何其他信息,请告诉我。 spec 文件几乎没有改变,除了在需求中指定 Kivy=2.0.0。
日志如下:
要求如下:
- 您不必在 buildozer.spec 文件的要求中添加数学和时间,因为它们是 python 中的内置模块。因此,当您在要求中添加 python3 时,它们会自动添加。
- 要使用更新的 kivy versio 版本,您必须在您的要求中指定它。在要求中,您必须添加
requirements=python3,kivy==2.0.0rc4
或您要使用的任何其他版本。此外,在更改要求后,您可能必须重建您的包。您必须使用 buildozer android debug deploy run
删除 .buildozer
目录并再次 运行 buildozer
我在为 android 打包我的 Kivy 应用程序时遇到了一些问题,这些问题可能相关,也可能不相关:
- 除 Kivy 外,我的应用程序唯一导入的包是时间和数学模块。当我将它们中的一个或两个添加到 buildozer 规范文件中的要求时,我得到一个“pip._internal.exceptions.DistributionNotFound:时间没有匹配的分布。”错误。当我不将它们包含在我的要求中时,构建成功,但在打开时崩溃并出现错误:
- “异常:本系统安装的Kivy版本太旧。(你有1.11.1,但应用需要2.0.0)”
我正在 Ubuntu 上的 VirutalBox 中进行安装,并遵循了 Kivy 和 Buildozer 文档中概述的安装过程,并遵循了 Eric Sandberg 在 YouTube 上的教程。我已经在 buildozer spec 文件中设置了 Kivy 版本,并使用 pip 在 VM 上安装了 Kivy 2.0.0。当我 pip freeze 时,它显示了正确的 Kivy 版本。我注意到的一件事是,当我尝试使用“apt-get install python3-kivy”安装它时,它说 kivy 1.10 已安装并且这是最新版本。
这似乎是一个容易解决的问题,但我无法弄清楚为什么要尝试使用这个版本的 Kivy!如果调试需要任何其他信息,请告诉我。 spec 文件几乎没有改变,除了在需求中指定 Kivy=2.0.0。
日志如下:
要求如下:
- 您不必在 buildozer.spec 文件的要求中添加数学和时间,因为它们是 python 中的内置模块。因此,当您在要求中添加 python3 时,它们会自动添加。
- 要使用更新的 kivy versio 版本,您必须在您的要求中指定它。在要求中,您必须添加
requirements=python3,kivy==2.0.0rc4
或您要使用的任何其他版本。此外,在更改要求后,您可能必须重建您的包。您必须使用buildozer android debug deploy run
删除
.buildozer
目录并再次 运行 buildozer