【发布时间】:2018-04-05 21:42:47
【问题描述】:
我已经构建了一个 docker 镜像作为 Kivy/Python 开发的环境。我可以毫无问题地运行代码,并且我已经完成了几个 Kivy 教程。
现在,我正在学习编译我的 Kivy 应用程序;但是当我尝试使用 Buildozer 编译 apk 时,出现以下错误:
Traceback (most recent call last):
File "/usr/local/bin/buildozer", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.5/dist-
packages/buildozer/scripts/client.py", line 13, in main
Buildozer().run_command(sys.argv[1:])
File "/usr/local/lib/python3.5/dist-packages/buildozer/__init__.py", line
122, in __init__
self.config.read(filename)
File "/usr/lib/python3.5/configparser.py", line 696, in read
self._read(fp, filename)
File "/usr/lib/python3.5/configparser.py", line 1012, in _read
for lineno, line in enumerate(fp, start=1):
File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position
1661: ordinal not in range(128)
我试图通过搜索终端输出的这一部分来找到解决方案,但没有成功UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position
1661: ordinal not in range(128) - 没有任何结果似乎与我的情况直接相关。
我很想列出我尝试过的所有内容,但老实说,我是一个新手开发人员,在这里我已经彻底迷惑了自己。
如果有人能指导我如何解决这个问题并解决它,我将不胜感激。
这是我首先尝试编译的简单应用 - 没什么特别的:
from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
class TutorialApp(App):
def build(self):
f = FloatLayout()
s = Scatter()
l= Label(text="Hello World!",
font_size=150)
# variables children of 'f'
f.add_widget(s)
s.add_widget(l)
return f
if __name__ == "__main__":
TutorialApp().run()
【问题讨论】:
-
你使用的是什么 docker 镜像?也许这会解决问题:https://github.com/pytorch/text/issues/77#issuecomment-319206865
-
我正在使用 Ubuntu 16.04 并从那里构建...但是,您的评论可能让我走上了正确的道路。我会尽快报告...谢谢@Jatimir
-
你能发布你的 buildozer.spec 吗?
-
@Tshirtman - 感谢您提供调查它,但我最终找到了解决方案。我在下面发布了答案。
标签: python docker kivy ubuntu-16.04 buildozer