在OSX上使用buildozer将kivy / python 3.7应用编译为android apk时出现错误-Silex&pypandoc

时间:2019-09-05 20:27:17

标签: android macos kivy apk buildozer

我在OSX上使用kivy和python 3.7开发了一个应用程序。它在PyCharm环境中运行良好。但是,当我尝试使用buildozer编译应用程序时,buildozer会不断抛出错误。

我已经使用pip3.7命令安装了最新的buildozer。我什至更新了python-for-android进行测试。尽管我已经在r17c和r20上尝试过,但我目前也在使用Android NDK r19c。都没有。

最初,我在使用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,为什么它们会出现?他们甚至从未被提及。我真的很想尽快解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我敢肯定我根本没有手动触摸过文件。我尝试过的唯一一件事就是清理: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模块不支持python3。silex模块始终是一个红色鲱鱼,只是在toolchain.py副本中的字母切换是错误的。

请注意,如果您阅读此错误,则不是在抱怨pypandoc,而是在抱怨SyntaxError: Missing parentheses in call to 'print'.