Python Kivy funktioniert nicht einwandfrei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

Hallo ich versuche gerade ein Python mit Kivy Anwendung zu Programmieren wie diese hier:

Kivy Testprogramm:

Code: Alles auswählen

import kivy
kivy.require('1.10.0')
  
from kivy.app import App
from kivy.uix.button import Label
  
class HelloKivy(App):
  
    
    def build(self):
  
        
        return Label(text ="Hello Geeks")
  
helloKivy = HelloKivy()
helloKivy.run()

Aber es gibt leider ein problem. Denn bei mir funktioniert unter Python die Kivy nicht einwandfrei. Denn unter IDLE Python erscheint zwar Kivy Fenster, aber es wird nur weiß angezeigt.
Und liebe Admins? Könnt ihr mein Forum Beitrag für mich Korriegieren, damit der Restliche Text unten nicht als Quellcode Anzeige anzeigt. Weil hier habe ich jetzt auch ein problem mit diese Forum das ab " v3.7.0 (v3.7.0:1bf9cc5093..." Text nur als Quelcode anzeigt, und ich weiß selber nicht wie ich das Problem beheben kann. Eigentlich möchte ich, das der ganze gepostete Fehlermeldung nur Rote Text anzeigt aber nicht als Quellcode

Und unter PyCharm ein andere Symptome das der Kivy Fenster nur kurz anzeigt und wieder schließt, und es zeigt dann diese Fehlermeldung:

Code: Alles auswählen

C:\Users\SSD3\PycharmProjects\pythonProject11\venv\Scripts\python.exe C:/Users/SSD3/PycharmProjects/pythonProject11/main.py
[INFO   ] [Logger      ] Record log in C:\Users\SSD3\.kivy\logs\kivy_22-05-14_4.txt
[INFO   ] [deps        ] Successfully imported "kivy_deps.angle" 0.3.2
[INFO   ] [deps        ] Successfully imported "kivy_deps.glew" 0.3.1
[INFO   ] [deps        ] Successfully imported "kivy_deps.sdl2" 0.4.5
[INFO   ] [Kivy        ] v2.1.0
[INFO   ] [Kivy        ] Installed at "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\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\SSD3\PycharmProjects\pythonProject11\venv\Scripts\python.exe"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 189 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.0 NVIDIA 466.63'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'NVIDIA GeForce GTX 1650/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[INFO   ] [GL          ] Texture max size <32768>
[INFO   ] [GL          ] Texture max units <32>
[WARNING] [Image       ] Unable to load image <C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\data\glsl\default.png>
[CRITICAL] [Window      ] Unable to find any valuable Window 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 - Exception: SDL2: Unable to load image
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\__init__.py", line 71, in core_select_lib
    cls = cls()
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 165, in __init__
    super(WindowSDL, self).__init__()
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\window\__init__.py", line 1071, in __init__
    self.create_window()
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 362, in create_window
    super(WindowSDL, self).create_window()
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\window\__init__.py", line 1450, in create_window
    self.render_context = RenderContext()
  File "kivy\graphics\instructions.pyx", line 797, in kivy.graphics.instructions.RenderContext.__init__
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\image\__init__.py", line 561, in __init__
    self.filename = arg
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\image\__init__.py", line 756, in _set_filename
    mipmap=self._mipmap, nocache=self._nocache)
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\image\__init__.py", line 460, in load
    im = loader(filename, **kwargs)
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\image\__init__.py", line 223, in __init__
    self._data = self.load(filename)
  File "C:\Users\SSD3\PycharmProjects\pythonProject11\venv\lib\site-packages\kivy\core\image\img_sdl2.py", line 47, in load
    raise Exception('SDL2: Unable to load image')

[CRITICAL] [App         ] Unable to get a Window, abort.

Ich habe Stundenlang Gegooglet. Habe auch "python -m pip install docutils pyictions pypiwin32 kivy.deps.sdl2 kivy.deps.glew" probiert. Doch Pycharm zeigt bei installation nächste Fehlermeldung:
C:\Users\SSD3\PycharmProjects\pythonProject11>python -m pip install docutils pyictions pypiwin32 kivy.deps.sdl2 kivy.deps.glew
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: docutils in c:\users\ssd3\appdata\roaming\python\python37\site-packages (0.18.1)
ERROR: Could not find a version that satisfies the requirement pyictions (from versions: none)
ERROR: No matching distribution found for pyictions

Habe das ganze auch mit PowerShell probiert. Auch da kommt der nächste Fehlermeldung:
PS C:\WINDOWS\system32> python -m pip install docutils pyictions pypiwin32 kivy.deps.sdl2 kivy.deps.glew
Requirement already satisfied: docutils in c:\users\ssd3\appdata\roaming\python\python37\site-packages (0.18.1)
ERROR: Could not find a version that satisfies the requirement pyictions (from versions: none)
ERROR: No matching distribution found for pyictions

Und ja, ich verwende Python 3.7.0

Habe auch mit Python 3.10 probiert, auch da genau derselbe problem.

Hat jemand ein idee wie ich die Kivy zum laufen bringen kann? Weil auf mein Handy mit Pydroid3 funktioniert der Kivy einwandfrei. Nur auf mein Leisstungsstarke Windows Rechner gar nicht.
Benutzeravatar
Dennis89
User
Beiträge: 1123
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

hast du für PyCharm die bebilderte Anleitung im folgenden Link schon probiert?
https://github.com/kivy/kivy/issues/5859

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

Dennis89 hat geschrieben: Samstag 14. Mai 2022, 21:03 Hallo,

hast du für PyCharm die bebilderte Anleitung im folgenden Link schon probiert?
https://github.com/kivy/kivy/issues/5859

Grüße
Dennis
Also ich habe gerade diese 5 Sache installiert, der in diese verlinkte Seite stand:
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
pip install kivy.deps.gstreamer
pip install kivy.deps.angle
pip install kivy

Das Problem hat sich leider nichts geändert.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Was passiert denn, wenn du das Programm aus der Kommandozeile startest und nicht aus einer IDE?
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

sparrow hat geschrieben: Sonntag 15. Mai 2022, 06:07 Was passiert denn, wenn du das Programm aus der Kommandozeile startest und nicht aus einer IDE?
Also ich habe gerade versucht unter Powerschell aus zu führen. Und ja, genau das gleiche problem wie PyCharm. Unter Powershell zeigt auch die gleiche Fehlermeldung, und der Kivy Fenster will sich von dort nicht öffnen
Bild

Und auch unter IDLE Python zeigt Fehlermeldung, allerdings ist Kivy Fenster unter IDLE zwar ganzezeit Offen, aber wird nur weiß angezeigt. Und ich kann denn Kivy fenster nicht mehr schließen. Deshalb ich ganze IDLE Python beenden und neustarten muss wenn ich das nochmal probieren will.
Bild

Aber wenn ich das mit CMD ausführe (Also Eingabeaufforderung) dann wird nicht nur weiße Fenster angezeigt, sondern ich erhalte dazu diese Fehlermeldung:
Bild

Gibt es noch eine Lösung was ich tun soll?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Man könnte mal prüfen ob das Bild was da nicht geladen werden kann existiert und ob man die Datei in anderen Programmen fehlerfrei öffnen kann. Und dann steht da ja noch ein Hinweis was man machen kann um mehr Informationen zu erhalten.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

__blackjack__ hat geschrieben: Sonntag 15. Mai 2022, 13:51 Man könnte mal prüfen ob das Bild was da nicht geladen werden kann existiert und ob man die Datei in anderen Programmen fehlerfrei öffnen kann. Und dann steht da ja noch ein Hinweis was man machen kann um mehr Informationen zu erhalten.
Also was genau soll ich überprüfen beim Bild? Also wo soll ich das genau überprüfen?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PrinzPersia: Ob die Datei existiert und ein Bild enthält das sich laden und anzeigen lässt.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Wenn man mal die Fehlermeldung in eine Suchmaschine wirft, stellt man fest, dass das Problem wohl immer mal wieder auftritt und irgendwie auf Inkompatibilitäten mit der SDL Bibliothek fusst.
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

sparrow hat geschrieben: Sonntag 15. Mai 2022, 14:50 Wenn man mal die Fehlermeldung in eine Suchmaschine wirft, stellt man fest, dass das Problem wohl immer mal wieder auftritt und irgendwie auf Inkompatibilitäten mit der SDL Bibliothek fusst.
Ok ich habe bei "C:\> Users > SSD3 > AppData > Roaming > Python > share > sdl2" nach geschaut, und da befindet sich nur ein "~in" Ordner:
Bild

Und in diese in Ordner sind nur paar dlls drauf:
Bild

Und meinst du das da keine Datei fehlt?
Benutzeravatar
Kebap
User
Beiträge: 686
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Mit "Bild" war die Datei mit Endung .png gemeint und nicht die .dll Datei. Ich kann sie in deinem blauen Screenshot gut lesen.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

Kebap hat geschrieben: Montag 16. Mai 2022, 00:27 Mit "Bild" war die Datei mit Endung .png gemeint und nicht die .dll Datei. Ich kann sie in deinem blauen Screenshot gut lesen.
Also soll ich unter Kivy Anwendung versuchen ein Bild zu Öffnen?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PrinzPersia: Nein, ohne Kivy. Das Kivy da Probleme hat steht ja im Log, also sollte man halt mal prüfen ob es ausserhalb von Kivy geht. Wenn das nämlich *nicht* geht, dann wüsste man wo das Problem liegt.

Und im Log steht ja noch ein anderer, praktisch Hinweis was man machen soll um mehr Informationen zum Fehler zu bekommen. Den solltest Du auch mal befolgen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

__blackjack__ hat geschrieben: Montag 16. Mai 2022, 13:19 @PrinzPersia: Nein, ohne Kivy. Das Kivy da Probleme hat steht ja im Log, also sollte man halt mal prüfen ob es ausserhalb von Kivy geht. Wenn das nämlich *nicht* geht, dann wüsste man wo das Problem liegt.

Und im Log steht ja noch ein anderer, praktisch Hinweis was man machen soll um mehr Informationen zum Fehler zu bekommen. Den solltest Du auch mal befolgen.
Also ich soll einfach unter Python einfach ein Test Anwendung Programmieren der PNG Bilder öffnet und Testen ob das funktioniert oder?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PrinzPersia: Nein, nix programmieren, einfach die Bilddatei mal öffnen mit einem Programm das die PNG-Datei öffnen können sollte. Schauen ob die Datei a) vorhanden und b) nicht kaputt ist.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

__blackjack__ hat geschrieben: Montag 16. Mai 2022, 13:48 @PrinzPersia: Nein, nix programmieren, einfach die Bilddatei mal öffnen mit einem Programm das die PNG-Datei öffnen können sollte. Schauen ob die Datei a) vorhanden und b) nicht kaputt ist.
Also ich soll die verzeichnis von Python Kivy Ordner nachsehen ob die PNG Bilder drauf sind und überprüfen ob sich auch öfnnen lässt oder? Wenn ja, wo finde ich die verzeichnis?
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Das steht doch in der Fehlermeldung.
Dort steht, dass ein Bild nicht geladen werden konnte - und der Pfad zu dem Bild.
Du sollst schauen ob das Bild an der Stelle ist - und ob es sich mit einem beliebigen anderen Programm, das Bilder anzeigen kann, anzeigen lässt.
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

sparrow hat geschrieben: Montag 16. Mai 2022, 15:36 Das steht doch in der Fehlermeldung.
Dort steht, dass ein Bild nicht geladen werden konnte - und der Pfad zu dem Bild.
Du sollst schauen ob das Bild an der Stelle ist - und ob es sich mit einem beliebigen anderen Programm, das Bilder anzeigen kann, anzeigen lässt.
Ok ich habe auf Verzeichnis: C:\Users\SSD3\AppData\Roaming\Python\Python37\site-packages\kivy\data\glsl (Also in genauere Verzeichnis was da im Fehlermeldung stand) nach geschaut. Und da befindet sich 4 andere Dateien und ein Default PNG Datei.
Bild

Ich habe denn PNG geöffnet, und es scheint das dort gar nichts drauf ist.

Zu erst mit Windows Foto Programm probiert:
Bild

Dann unter Microsoft Paint geöffnet:
Bild

Dann diese Bild unter Photoshop geöffnet:
Bild

Ich glaube in Default.png ist da nur Weißbild drauf mit einem Pixel größe von 64x64. Also ich weiß nicht ob das normal ist oder doch ein Fehler ist.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das sieht normal aus. Aus dem Bild ist das also erstmal nicht erkenntlich. Es bleibt also der Hinweis, wie man mehr Informationen erhalten kann. Steht ja in der Fehlermeldung.
PrinzPersia
User
Beiträge: 12
Registriert: Donnerstag 12. Mai 2022, 18:48

Neues Update
Als ich unter Python Code dazu zwei Sachen importiert habe:

Code: Alles auswählen

import os
os.environ['KIVY_IMAGE'] = 'pil,sdl2'
Dann Funktioniert das mit Kivy sofort:
Bild

Aber was ich nicht verstehe, das Kivy auf mein Handy unter Pydroid3 auch ohne "import os, os.environ['KIVY_IMAGE'] = 'pil,sdl2'" Funktioniert. Nur auf mein PC muss ich 2 weitere Code schreiben damit das funktioniert. Gibt es eine Lösung das Kivy Anwendung auch ohne import OS auf mein PC funktioniert?
Antworten