When I run my Kivy application it terminates early. I followed the installation instructions on Kivy's website.
main.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
import os
os.environ['KIVY_WINDOW'] = 'sdl2'
os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'
Builder.load_file('main.kv')
class MyLayout(Widget):
pass
class TheMonitorApp(App):
def build(self):
return MyLayout()
if __name__ == '__main__':
TheMonitorApp().run
main.kv
#:kivy 2.0.0
<MyLayout>
BoxLayout:
orientation: "vertical"
size: root.width, root.height
Label:
text: "Monitor"
font_size: 32
Terminal
(kivy_venv) pi#raspberrypi:~/projects/HomeMonitor $ python main.py
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_21-11-03_19.txt
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "/home/pi/projects/HomeMonitor/kivy_venv/lib/python3.7/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at "/home/pi/projects/HomeMonitor/kivy_venv/bin/python"
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [ImageLoaderFFPy] Using ffpyplayer 4.3.2
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_ffpyplayer
(kivy_venv) pi#raspberrypi:~/projects/HomeMonitor $
Notice the terminal output stops at "[INFO ] [Image ]", why does it stop here? It still needs to reach "Window" and "GL".
Also if I delete these lines nothing changes:
import os
os.environ['KIVY_WINDOW'] = 'sdl2'
os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'
Check:
https://kivy.org/doc/stable/gettingstarted/installation.html#installation-canonical
Install dependencies:
"For the Raspberry Pi, you must additionally install the dependencies listed in source dependencies before installing Kivy above."
Install kivy:
python -m pip install kivy[base] kivy_examples
Related
I was just watching a tutorial on kivy and for some reason my code won't work as the person teaching
import kivy
from kivy.app import App as App
from kivy.uix.label import Label
class myapp(App) :
def build(self):
return Label(text = "Hello world")
if __name__ == '__main__':
myapp.run()
thats the code and
[INFO ] [Logger ] Record log in C:\Users\Maza\.kivy\logs\kivy_21-10-13_21.txt
[INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.3.2
[INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.3.1
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "C:\Users\Maza\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\Maza\AppData\Local\Programs\Python\Python39\python.exe"
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
Traceback (most recent call last):
File "c:\Users\xxx\Documents\Projects\Python playground\Kivy\test1.py", line 12, in <module>
myapp.run()
TypeError: run() missing 1 required positional argument: 'self'
that's what it returned. I still dont know how to fix it
You need to change:
myapp.run()
to:
myapp().run()
That is, you must create an instance of myapp (the myapp() with parens), then call the run() method of that instance.
i am currently trying to make a youtube interface which filters the youtube algorithm so you dont waste your time in entertainment and i have come across a problem i don't know how to solve because of my lack of knowledge
Problem: the argument in the function for on_release in list item is same for all the list items (i.e, the on_release function's argument of the last list item is used for all the list items somehow)
Me selecting channel 1 (better ideas)
image 1
Me getting "Learn japanese channel" instead of "better ideas" channel
image 2
getting the correct channel name is important as then i will be able to scrape video information of that channel
code which i used to add the items to the channel list:
def on_start(self):
channel_logos_dir = "static/channel_images/"
channel_logos_list = os.listdir(channel_logos_dir)
for channel_logo_name in channel_logos_list:
channel_name = channel_logo_name[:-4]
print(channel_name)
image = ImageLeftWidget(source=channel_logos_dir + channel_logo_name)
item = TwoLineAvatarListItem(text=channel_name, on_release=lambda x: self.chan_page(channel_name))
item.add_widget(image)
self.root.ids.subs_scr_id.ids.subs_id.add_widget(item)
folder heirarchy for images:
static
|-- channel_images
|-- Better Ideas.jpg
|-- Krish Naik.jpg
|-- Learn Japanese with JapanesePod101.com.jpg
Here the channel name for all the items in list is the channel name of the last item
on_release=lambda x: self.chan_page(channel_name)
My entire code:
import os
from kivymd.app import MDApp
from kivymd.uix.screen import Screen
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.screenmanager import ScreenManager
from kivymd.uix.list import TwoLineAvatarListItem, ImageLeftWidget
from kivymd.uix.floatlayout import MDFloatLayout
from kivymd.uix.tab import MDTabsBase
Window.size = (300, 500)
channels = {"Krish Naik":"https://www.youtube.com/user/krishnaik06",
"Learn Japanese with JapanesePod101.com":"https://www.youtube.com/c/japanesepod101",
"Better Ideas":"https://www.youtube.com/c/BetterIdeas/"}
screen_helper = """
ScreenManager:
HomeScreen:
id: home_src_id
SubscriptionScreen:
id: subs_scr_id
ChannelScreen:
id: channel_scr_id
<HomeScreen>:
name: 'home'
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: 'YouTube'
left_action_items: [["youtube", lambda x: app.navigation_draw()]]
right_action_items: [["magnify", lambda x: app.search_popup()]]
MDIconButton:
icon: "youtube-subscription"
md_bg_color: app.theme_cls.primary_color
pos_hint: {'center_x':0.5, 'center_y':0.5}
on_press: root.manager.current = "subscriptions"
MDLabel:
text: 'Go to subscriptions using top menu'
halign: 'center'
MDRectangleFlatButton:
text:'profile'
pos_hint: {'center_x':0.5, 'center_y':0.5}
on_press: root.manager.current = "subscriptions"
<SubscriptionScreen>:
name: 'subscriptions'
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: 'YouTube'
left_action_items: [["youtube", lambda x: app.navigation_draw()]]
right_action_items: [["magnify", lambda x: app.search_popup()]]
MDIconButton:
icon: "youtube-subscription"
md_bg_color: app.theme_cls.primary_color
pos_hint: {'center_x':0.5, 'center_y':0.5}
on_press: root.manager.current = "profile"
ScrollView:
MDList:
id: subs_id
<ChannelScreen>
name: 'channelPage'
MDBoxLayout:
orientation: "vertical"
MDToolbar:
id: channel_name
left_action_items: [["keyboard-backspace", lambda x: app.navigation_draw()]]
right_action_items: [["dots-vertical", lambda x: app.search_popup()]]
MDTabs:
id: tabs
on_tab_switch: app.on_tab_switch(*args)
<Tab>
ScrollView:
MDList:
id: vids_id
"""
class HomeScreen(Screen):
pass
class SubscriptionScreen(Screen):
pass
class ChannelScreen(Screen):
pass
class Tab(MDFloatLayout, MDTabsBase):
'''Class implementing content for a tab.'''
sm = ScreenManager()
sm.add_widget(HomeScreen(name='home'))
subscription_screen = SubscriptionScreen(name='subscriptions')
sm.add_widget(subscription_screen)
sm.add_widget(ChannelScreen(name='channelPage'))
sm.current = "home"
class DemoApp(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.current_channel = 'Krish Naik'
def build(self):
self.theme_cls.primary_palette = 'Red'
screen = Builder.load_string(screen_helper)
return screen
def on_start(self):
channel_logos_dir = "static/channel_images/"
channel_logos_list = os.listdir(channel_logos_dir)
for channel_logo_name in channel_logos_list:
channel_name = channel_logo_name[:-4]
image = ImageLeftWidget(source=channel_logos_dir + channel_logo_name)
item = TwoLineAvatarListItem(text=channel_name, on_release=lambda x: self.chan_page(channel_name))
item.add_widget(image)
self.root.ids.subs_scr_id.ids.subs_id.add_widget(item)
self.root.ids.channel_scr_id.ids.tabs.add_widget(Tab(title=f"Videos"))
self.root.ids.channel_scr_id.ids.tabs.add_widget(Tab(title=f"Playlists"))
self.root.ids.channel_scr_id.ids.tabs.add_widget(Tab(title=f"Community"))
def on_tab_switch(
self, instance_tabs, instance_tab, instance_tab_label, tab_text
):
'''Called when switching tabs.
:type instance_tabs: <kivymd.uix.tab.MDTabs object>;
:param instance_tab: <__main__.Tab object>;
:param instance_tab_label: <kivymd.uix.tab.MDTabsLabel object>;
:param tab_text: text or name icon of tab;
'''
for i in range(20):
image = ImageLeftWidget(source="static/channel_images/Krish Naik.jpg")
item = TwoLineAvatarListItem(text="krish naik", on_release=lambda x: self.chan_page(channel_name))
item.add_widget(image)
instance_tab.ids.vids_id.add_widget(item)
# #staticmethod
def chan_page(self,channel_name):
self.root.current = "channelPage"
self.root.ids.channel_scr_id.ids.channel_name.title = channel_name
self.current_channel = channel_name
DemoApp().run()
My output:
C:\Users\rahim\PycharmProjects\yt_filter\venv\Scripts\python.exe C:/Users/rahim/PycharmProjects/yt_filter/mian.py
[INFO ] [Logger ] Record log in C:\Users\rahim\.kivy\logs\kivy_21-07-01_91.txt
[INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.3.2
[INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.3.1
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "C:\Users\rahim\PycharmProjects\yt_filter\venv\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\rahim\PycharmProjects\yt_filter\venv\Scripts\python.exe"
[INFO ] [KivyMD ] 0.104.2, git-bc7d1f5, 2021-06-06 (installed at "C:\Users\rahim\PycharmProjects\yt_filter\venv\lib\site-packages\kivymd\__init__.py")
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] Backend used <glew>
[INFO ] [GL ] OpenGL version <b'4.6.13596 Compatibility Profile Context 20.10.35.02 27.20.1034.6'>
[INFO ] [GL ] OpenGL vendor <b'ATI Technologies Inc.'>
[INFO ] [GL ] OpenGL renderer <b'AMD Radeon(TM) Vega 8 Graphics'>
[INFO ] [GL ] OpenGL parsed version: 4, 6
[INFO ] [GL ] Shading version <b'4.60'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [GL ] NPOT texture support is available
[INFO ] [Base ] Start application main loop
[INFO ] [Loader ] using a thread pool of 2 workers
[WARNING] Deprecated property "<StringProperty name=text>" of object "<__main__.Tab object at 0x000002D50A02F120>" has been set, it will be removed in a future version
[INFO ] [Base ] Leaving application in progress...
Process finished with exit code 0
Thank you for your time
This is a common error when using a lambda within a loop. The lambda function references a variable that is scoped within the loop, and when the lambda is executed, that variable has the last value that it was assigned in the loop. A fix is to create a new argument to the lambda function, like this:
item = TwoLineAvatarListItem(text=channel_name, on_release=lambda x, y=channel_name: self.chan_page(y))
I am trying to create a simple program using kivy. The program runs without errors, however, no window appears. Here are the steps I followed for installing kivy:
python -m pip install --upgrade pip wheel setuptools virtualenv
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
python -m pip install kivy_deps.gstreamer==0.1.*
python -m pip install kivy_deps.angle==0.1.*
python -m pip install kivy==1.11.1
python -m pip install kivy_examples==1.11.1
This is the program that I'm trying to run:
import kivy
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
label = Label(text = 'Hello from kivy',size_hint = (.5,.5),pos_hint {'center_x':.5,'center_y':.5})
return label
if __name__ == " main" :
app = MainApp()
app.run() #App class contains run() - sets up the graphics
And this is the output I'm getting:
[INFO ] [Logger ] Record log in C:\Users\Ayesha.kivy\logs\kivy_19-12-22_0.txt
[INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.1.17
[INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.1.9
[INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.1.12
[INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.1.22
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "C:\Users\Ayesha\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy__init__.py"
[INFO ] [Python ] v3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\Ayesha\AppData\Local\Programs\Python\Python37\pythonw.exe"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
I'm trying to debug my GUI in VSCode(1.39.1) using kivy1.11, python3.6.9 and Win10, but VSCode cannot compile.
I installed the kivy-package according to the official Kivy-page within conda. I tested whether this outside VSCode and started it in a terminal. This works:
(kivy_py36) C:\Users\...\RASPIapp_py3>python main.py
[INFO ] [Logger ] Record log in C:\Users\...\.kivy\logs\kivy_19-10-16_6.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 14:00:49) [MSC v.1915 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\...\Anaconda3\envs\kivy_py36\python.exe"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] Backend used <glew>
[INFO ] [GL ] OpenGL version <b'4.5.0 - Build 25.20.100.6472'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Intel(R) HD Graphics 630'>
[INFO ] [GL ] OpenGL parsed version: 4, 5
[INFO ] [GL ] Shading version <b'4.50 - Build 25.20.100.6472'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
But when I try the same environment within VSCode, I get this:
[INFO ] [Logger ] Record log in C:\Users\...\.kivy\logs\kivy_19-10-16_1.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 14:00:49) [MSC v.1915 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\...\Anaconda3\envs\kivy_py36\python.exe"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Text ] Unable to find any valuable Text provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
sdl2 - ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
File "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\core\text\text_sdl2.py", line 13, in <module>
from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,
pil - ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
File "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\kivy\core\text\text_pil.py", line 7, in <module>
from PIL import Image, ImageFont, ImageDraw
File "C:\Users\...\Anaconda3\envs\kivy_py36\lib\site-packages\PIL\Image.py", line 95, in <module>
from . import _imaging as core
[CRITICAL] [App ] Unable to get a Text provider, abort.
The standard ".kivy/config.ini" was not changed in both cases.
Some installed packages of py36 are:
cython 0.29.13 py36ha925a31_0
…
kivy 1.11.1 py36hbc14df2_0 conda-forge
kivy-examples 1.11.1 pypi_0 pypi
…
pillow 6.1.0 py36h643dfcc_1 conda-forge
…
python 3.6.9 h5500b2f_0
…sdl2 2.0.10 h6538335_0 conda-forge
sdl2_image 2.0.5 h63225fd_0 conda-forge
sdl2_mixer 2.0.4 h6538335_0 conda-forge
sdl2_ttf 2.0.15 h4636d2b_0 conda-forge
and some of py27:
cython 0.27.3 py27h566c365_0
…
kivy 1.10.1 py27h7bc4a79_2 conda-forge
kivy-deps-glew 0.1.10 pypi_0 pypi
kivy-deps-sdl2 0.1.18 pypi_0 pypi
...
pillow 6.1.0 py27h6202ca7_0 conda-forge
…
python 2.7.13 h1b6d89f_16
...
sdl2 2.0.9 hc56fc5f_2 conda-forge
sdl2_image 2.0.5 h4bcde91_0 conda-forge
sdl2_mixer 2.0.1 hc56fc5f_1 conda-forge
sdl2_ttf 2.0.15 hdbef25a_0 conda-forge
This is the animate.py example from kivy-examples.
import kivy
from kivy.animation import Animation
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def animate(self, instance):
animation = Animation(pos=(100, 100), t='out_bounce')
animation += Animation(pos=(200, 100), t='out_bounce')
animation &= Animation(size=(500, 500))
animation += Animation(size=(100, 50))
animation.start(instance)
def build(self):
button = Button(size_hint=(None, None), text='plop',
on_press=self.animate)
return button
if __name__ == '__main__':
TestApp().run()
So I expected it to work in vscode, but it does only work in a terminal. So my question: How to force VSCode to find and use SDL2?
Funnily, if I try the same thing as above with Kivy and Python2.7(!), it works in VSCode and terminal.
After playing around with VSCode and finding this helpful link, I finally changed:
1) user -> settings.json
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
2) if a workspace with different folders is used (as in my case) -> change ".code-workspace"
"folders": [
{
"name": "RASPIapp_py3",
"path": "C:\\Users\\<YOURPATH>\\RASPIapp_py3",
"python.pythonPath": "C:\\Users\\<YOURUSERNAME>\\Anaconda3\\envs\\<YOURENVNAME>\\python.exe",
"terminal.integrated.shellArgs.windows": [
"/K",
"C:\\Users\\<YOURUSERNAME>\\Anaconda3\\Scripts\\activate.bat",
"C:\\Users\\<YOURUSERNAME>\\Anaconda3"
]
}
No I just wonder why it was able to find kivy in the first place, even though it seems the only problem was that the conda-shell was not probabley activated.
I have a problem with kivy :( Can you help me to fix it?
import kivy
import socket
import threading
kivy.require('1.9.1') # replace with your current kivy version !
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('localhost',9999))
from kivy.app import App
from kivy.uix.label import Label
duyuru=""
def readData():
data = s.recv(1024)
if data:
duyuru=data
else:
duyuru="Henüz duyuru yok!"
class MyApp(App):
def build(self):
t1 = threading.Thread(target=readData)
t1.start()
return Label(duyuru)
if __name__ == '__main__':
MyApp().run()
It give me an error says:"Type error: __init__ takes 1 positional argument but 2 were given ". And the kivy window opens but stops running :(
Traceback:
[INFO ] [Logger ] Record login
C:\Users\Beatless27\.kivy\logs\kivy_16-05-02_40.txt
[INFO ] [Kivy ] v1.9.1
[INFO ] [Python ] v3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)]
[INFO ] [Factory ] 179 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [OSC ] using <thread> for socket
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] OpenGL version <b'3.3.0'>
[INFO ] [GL ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO ] [GL ] OpenGL renderer <b'GeForce 9500 GT/PCIe/SSE2/3DNOW!'>
[INFO ] [GL ] OpenGL parsed version: 3, 3
[INFO ] [GL ] Shading version <b'3.30 NVIDIA via Cg compiler'>
[INFO ] [GL ] Texture max size <8192>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
Traceback (most recent call last):
File "AndroidClient.py", line 29, in <module>
MyApp().run()
File "C:\Python34\lib\site-packages\kivy\app.py", line 802, in run
root = self.build()
File "AndroidClient.py", line 27, in build
return Label(duyuru)
TypeError: __init__() takes 1 positional argument but 2 were given
Use Label(text=duyuru) - it is a keyword argument, not a positional one.