android - 在 OSX 上使用 buildozer 将 kivy/python 3.7 应用程序编译为 android apk 时出错 - Silex & pypandoc
问题描述
我在 OSX 上使用 kivy 和 python 3.7 制作了一个应用程序。它在 PyCharm 环境中运行良好。但是,当我尝试使用 buildozer 编译应用程序时,buildozer 不断抛出错误。
我已经使用 pip3.7 命令安装了最新的 buildozer。我什至更新了 python-for-android 来测试它。我目前也在使用 Android NDK r19c,尽管我已经尝试使用 r17c 和 r20。两者都没有工作。
最初,我遇到了与使用 pip 而不是 pip3.7 相关的错误,因为 buildozer 会尝试在某些领域使用 python 2.7。这是通过卸载 buildozer 等并使用 pip3.7 重新安装来解决的。这些错误已经消失,但目前,我似乎遇到了与“Silex”和 pypandoc 相关的新错误,这很奇怪,因为我不相信 buildozer 甚至使用这些错误。
错误代码的字符太多,我无法直接在此处发布,因此请在我的网站上将错误代码作为页面查看。链接如下:
https://apilotslens.com/buildozer-silex-error
然后我安装最新版本的 Silex,它阻止了这个错误的出现。但是,出现了一个与 pypandoc 相关的新错误:
https://apilotslens.com/buildozer-pypandoc-error
即使我安装了 pypandoc,错误仍然出现。
在这一点上我很困惑。据说我已经按书完成了所有事情,因此 buildozer 将编译我的 APK。我真的希望有人能帮助我。据我所知,Buildozer 甚至不使用 Silex 或 pypandoc,那么它们为什么会出现呢?他们以前甚至没有被提及。我真的很想尽快解决这个问题。
提前致谢!
解决方案
我很确定我根本没有手动接触过该文件。我唯一尝试过的是 clean: buildozer android clean 但这并没有让它工作。
这只会清理构建,而不是完整的缓存。删除并重/Users/JGolding/Desktop/FlightPlanningApp/PythonCode/Drafts/Draft1/.buildozer
试。
等等,你是说 shlex 还是 silex?
它应该是import shlex
. 您的文件内容为import silex
.
这是您提到的 toolchain.py 文件的链接:
除了 shlex->silex 变化之外,这看起来不错。
我想我会尝试卸载并重新安装 buildozer(pip3.7 卸载 buildozer),但有趣的是,它说不能卸载'buildozer'。找不到要卸载的文件。
这与您针对错误目录或其他内容的 pip 调用无关。
然后我安装最新版本的 Silex,它阻止了这个错误的出现。但是,出现了一个与 pypandoc 相关的新错误:
这也是不相关的,只是 silex 模块不支持 python 3。 silex 模块一直是一个红鲱鱼,只是你的 toolchain.py 副本中的字母开关是错误的。
请注意,如果您阅读错误,它不是在抱怨 pypandoc 而是在抱怨SyntaxError: Missing parentheses in call to 'print'.
.
推荐阅读
- java - Maven 为 surefire-plugin 2.22.2 构建
- swiftui - 在 SwiftUI 中绘制折线图
- apache-spark-mllib - XGBoost4J-Spark Training Performance with vector Assembler 和自定义密集向量导致两个完全不同的训练模型文件
- c# - Hangfire 中的 JobActivator 不会为 RecurringJob 的每次运行实例化 DataContext
- html - 我如何构建可以生成 HTML 并且搜索引擎可以抓取该 html 的 SEO 友好的 Ionic 5 网站
- deno - deno upgrade 显示错误“无法解析模块升级”
- javascript - 根据用户输入重定向页面
- postgresql - 备份大型 postgresql 数据库
- shell - 如何在保留标题的同时使用 grep 过滤 gz 文件
- python - 在 numpy dnarray 中处理 NaN / Inf