can';“t运行”;“你好,世界”;android版kivy launcher中的python代码

can';“t运行”;“你好,世界”;android版kivy launcher中的python代码,android,python,kivy,Android,Python,Kivy,我正试图在我的Nexus5上的kivy launcher中从kivy.org运行这段代码。 我在kivy文件夹和“android.txt”文件中创建了一个文件夹。下面是main.py: import kivy kivy.require('1.9.0') from kivy.app import App from kivy.uix.label import Label class TestApp(App): def build(self): return Label(

我正试图在我的Nexus5上的kivy launcher中从kivy.org运行这段代码。 我在kivy文件夹和“android.txt”文件中创建了一个文件夹。下面是main.py:

import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.label import Label


class TestApp(App):
   def build(self):
          return Label(text='Hello World')
if __name__ == '__main__':
   TestApp().run()
当我从launcher启动它时,它会立即崩溃。这是我在logs文件夹中得到的:

[INFO              ] Logger: Record log in /storage/emulated/0/kivy/myshit/.kivy/logs/kivy_15-05-01_6.txt
[INFO              ] Kivy: v1.9.0
[INFO              ] Python: v2.7.2 (default, Apr  2 2015, 13:52:41) 
[GCC 4.8]
[INFO              ] Factory: 173 symbols loaded
[WARNING           ] stderr: /data/data/org.kivy.pygame/files/lib/python2.7/site-packages/kivy/core/image/img_pygame.py:1.3: RuntimeWarning: import cdrom: No module named cdrom
[WARNING           ] stderr: (ImportError: No module named cdrom)
[INFO              ] Image: Providers: img_tex, img_dds, img_gif, img_pygame, img_pil (img_ffpyplayer ignored)
[WARNING           ] stderr: Traceback (most recent call last):
[WARNING           ] stderr:   File "main.py", line 9, in <module>
[WARNING           ] stderr:     return Label(text='Hello World')
[WARNING           ] stderr:   File "/home/tito/code/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/app.py", line 798, in run
[WARNING           ] stderr:   File "main.py", line 7, in build
[WARNING           ] stderr:     class TestApp(App):
[WARNING           ] stderr: NameError: global name 'Label' is not defined
[INFO]记录器:记录登录/storage/simulated/0/kivy/myshit/.kivy/logs/kivy_15-05-01_6.txt
[信息]Kivy:v1.9.0
[信息]Python:v2.7.2(默认值,2015年4月2日,13:52:41)
[GCC 4.8]
[信息]工厂:加载173个符号
[警告]stderr:/data/data/org.kivy.pygame/files/lib/python2.7/site packages/kivy/core/image/img_pygame.py:1.3:运行时警告:导入cdrom:没有名为cdrom的模块
[警告]标准:(导入错误:没有名为cdrom的模块)
[信息]图片:提供商:img_tex、img_dds、img_gif、img_pygame、img_pil(img_ffpyplayer忽略)
[警告]stderr:回溯(最近一次呼叫最后一次):
[警告]stderr:文件“main.py”,第9行,在
[警告]标准:返回标签(text='Hello World')
[警告]stderr:File“/home/tito/code/python for android/build/python安装/lib/python2.7/site-packages/kivy/app.py”,第798行,运行中
[警告]stderr:文件“main.py”,第7行,内部版本
[警告]标准:类TestApp(应用程序):
[警告]标准:名称错误:未定义全局名称“标签”
请告诉我我做错了什么? 另外,我不编译应用程序,我只是在launcher中运行它。示例游戏和展示效果很好

试试这个:

import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.lang import Builder

kv = '''
Label:
    text: "Hello World"
'''

class TestApp(App):
   def build(self):
          return Builder.load_string(kv)
if __name__ == '__main__':
   TestApp().run()

我真的不知道为什么你的代码不会运行,但我没有看到有人直接从构建方法返回kivy小部件(比如
标签
按钮
),所以可能与此有关。据我所见,通常build方法返回一个类的实例,该类是应用程序的根小部件。该类通常似乎要么继承自kivy布局,要么继承自Widget类本身,并将其他所有内容封装为Widget树的根。

我不知道,您的代码在我的计算机上运行良好。不起作用。警告]stderr:。。。[警告]标准说明:1:[警告]标准说明:2:标签:[警告]标准说明:>>3:文本:“Hello World”[警告]标准说明:4:[警告]标准说明:。。。[警告]标准:缩进无效,必须是3个空格的倍数。。。。。然后android版的python diesMaybe我的CM12.1每晚都会有一些东西。。我没有在其他android设备上测试它等等!我刚刚尝试在另一个文本编辑器中保存您的代码,它成功了!我的旧代码也能用。警告:不要使用涡轮编辑器,它很乱