在OSX-Silex&;上使用buildozer将kivy/python 3.7应用程序编译为android apk时出错;皮潘多克

在OSX-Silex&;上使用buildozer将kivy/python 3.7应用程序编译为android apk时出错;皮潘多克,android,macos,kivy,apk,buildozer,Android,Macos,Kivy,Apk,Buildozer,我在OSX上使用kivy和python 3.7制作了一个应用程序。它在PyCharm环境中运行良好。然而,当我试图用buildozer编译应用程序时,buildozer不断抛出错误 我已经使用pip3.7命令安装了最新的buildozer。我甚至更新了android版python来测试它。我目前也在使用Android NDK r19c,尽管我已经用r17c和r20试过了。两者都不起作用 最初,我在使用pip而不是pip3.7时遇到了一些错误,因为buildozer会在某些方面尝试使用python

我在OSX上使用kivy和python 3.7制作了一个应用程序。它在PyCharm环境中运行良好。然而,当我试图用buildozer编译应用程序时,buildozer不断抛出错误

我已经使用pip3.7命令安装了最新的buildozer。我甚至更新了android版python来测试它。我目前也在使用Android NDK r19c,尽管我已经用r17c和r20试过了。两者都不起作用

最初,我在使用pip而不是pip3.7时遇到了一些错误,因为buildozer会在某些方面尝试使用python 2.7。通过卸载buildozer等并使用pip3.7重新安装解决了这一问题。这些错误已经消失了,但目前,我似乎又遇到了新的错误,与“Silex”和pypandoc有关,这很奇怪,因为我不相信buildozer会使用这些错误

错误代码的字符太多,无法让我直接在这里发布,因此请在我的网站上查看错误代码页面。链接如下:

然后我安装了Silex的最新版本,这将阻止此错误的发生。但是,出现了一个与pypandoc相关的新错误:

即使在我安装pypandoc时,错误也会不断出现

在这一点上我很困惑。我应该按照书中的要求做所有的事情,这样buildozer就可以编译我的APK了。我真的希望有人能帮助我。据我所知,Buildozer甚至不使用Silex或pypandoc,那么为什么会出现它们呢?他们以前甚至没有被提到过。我真的很想尽快解决这个问题

提前谢谢


我很确定我根本没有手动触摸过这个文件。我唯一尝试过的是一个干净的:buildozerandroid-clean,但它没有工作

这只清理生成,而不是完整缓存。删除
/Users/JGolding/Desktop/FlightPlanningApp/PythonCode/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:print调用中缺少括号。


我很确定我根本没有手动触摸过这个文件。我唯一尝试过的是一个干净的:buildozerandroid-clean,但它没有工作

这只清理生成,而不是完整缓存。删除
/Users/JGolding/Desktop/FlightPlanningApp/PythonCode/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:调用“print”时缺少括号。

这很奇怪,你能粘贴文件Users/JGolding/Desktop/FlightPlanningApp/PythonCode/Draft1/.buildozer/android/platform/python for android/pythonfordroid/toolchain.py的内容吗?当然可以。我现在用的是一台工作电脑,但一回到家,我就会把它贴在这里,然后告诉你。谢谢你的时间!实际上,错误指出的第80行应该是
import-shlex
。如果你没有手动触摸这个文件,我想它可能已经被破坏了,但我真的不知道这是怎么发生的。您是否尝试过清理构建并让下载再次运行?你可以通过删除
/Users/JGolding/Desktop/FlightPlanningApp/PythonCode/Draft1/.buildozer
,即你的app dir中的.buildozer目录来实现这一点。我很确定我根本没有手动接触过该文件。我唯一尝试过的是一个干净的:
buildozerandroid-clean
,但它没有起作用。我将尝试删除该文件并让下载再次运行。你永远不知道。这当然是一个不寻常的错误。我猜我自己根本不应该碰文件的
import shlex
区域?等等,你是说shlex还是silex?这很奇怪,你能粘贴文件Users/JGolding/Desktop/FlightPlanningApp/PythonCode/Draft1/.buildozer/android/platform/python for android/toolschain.py的内容吗?当然。我现在用的是一台工作电脑,但一回到家,我就会把它贴在这里,然后让你知道