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