Topic: Kivy - non riesco ad eseguire un semplice programma  (Letto 71 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Magnum-py

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Kivy - non riesco ad eseguire un semplice programma
« il: Novembre 13, 2019, 23:38 »
Salve,
ho installato kivy su ubuntu e non riesco ad eseguire un semplice programma:
 main.py
# Modified from https://kivy.org/doc/stable/guide/basic.html
import kivy
kivy.require('1.11.1')  # Set to your Kivy version
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
    def build(self):
        return Button(text='This is a button.')
MyApp().run()

lo eseguo da riga di comando con:
python3 test.py
il messaggio di errore è:

[INFO   ] [Logger      ] Record log in /home/ema-ubuntu/.kivy/logs/kivy_19-11-13_1.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "/usr/lib/python3/dist-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.5rc1 (default, Oct  8 2019, 16:47:45)
[GCC 9.2.1 20191008]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3"
[INFO   ] [Logger      ] Purge log fired. Analysing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_sdl2'] ignored)
[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
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/lib/python3/dist-packages/kivy/lib/vidcore_lite/__init__.py)
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - ImportError: libSDL2_image-2.0.so.0: cannot open shared object file: No such file or directory
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 27, in <module>
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)

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

potete aiutarmi? cosa ho sbagliato?

Offline nuzzopippo

  • python habilis
  • **
  • Post: 90
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #1 il: Novembre 14, 2019, 07:39 »
Ciao @Magnum,

Non conosco la libreria kivy, però, guardando il trace noto :
Citazione
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/lib/python3/dist-packages/kivy/lib/vidcore_lite/__init__.py)
...
sdl2 - ImportError: libSDL2_image-2.0.so.0: cannot open shared object file: No such file or directory
...
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'

Cosa che mi ha pensare a problemi dovuti alla modalità di installazione effettuata. Forse l'hai effettuata in un virtual-environment?
In tal caso dovresti sincerarti dalla docs quali sono le dipendenze necessarie e provvedere alla loro installazione e relativa configurazione, occorrendo.

in alternativa :
Ho guardato nei pacchetti di Ubuntu, nella versione 18.04 esistono i pacchetti python-kivy, python-kivy3 e python-kivy-examples, ovviamente non ho proceduto ad installarli ma una soluzione potrebbe essere quella di eseguirne l'installazione nel sistema, penso che probabilmente le dipendenze verrebbero risolte.

Offline Magnum-py

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #2 il: Novembre 14, 2019, 08:07 »
L’installazione l’ho eseguita prendendo i comandi dal sito kivy.org per python3 e che riporto di seguito. Se può essere utile il SO è Ubuntu 19.10.

Ubuntu / Kubuntu / Xubuntu / Lubuntu (Saucy and above)¶

Add one of the PPAs as you prefer

stable builds:   $ sudo add-apt-repository ppa:kivy-team/kivy
nightly builds:   $ sudo add-apt-repository ppa:kivy-team/kivy-daily
Update your package list using your package manager
$ sudo apt-get update

Install Kivy

Python2 - python-kivy:
    $ sudo apt-get install python-kivy
Python3 - python3-kivy:
    $ sudo apt-get install python3-kivy
optionally the gallery of Examples - kivy-examples:
    $ sudo apt-get install kivy-examples

Offline nuzzopippo

  • python habilis
  • **
  • Post: 90
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #3 il: Novembre 14, 2019, 08:29 »
Si. avevo letto il contenuto di questa pagina
L’installazione l’ho eseguita prendendo i comandi dal sito kivy.org per python3 e che riporto di seguito. Se può essere utile il SO è Ubuntu 19.10...
stable builds:   $ sudo add-apt-repository ppa:kivy-team/kivy
nightly builds:   $ sudo add-apt-repository ppa:kivy-team/kivy-daily

Vedo che hai indicato entrambi i repository ... non è che li hai aggiunti entrambi? Chiedo ciò perché nella pagina è scritto :
Citazione
Add one of the PPAs as you prefer
    stable builds:   $ sudo add-apt-repository ppa:kivy-team/kivy
    nightly builds:   $ sudo add-apt-repository ppa:kivy-team/kivy-daily

ed utilizzare i ppa delle versioni in sviluppo non è mai una idea grandiosa, a meno che non si voglia fare il beta-tester, comunque ne andrebbe aggiunto solo uno dei due.

Offline Magnum-py

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #4 il: Novembre 14, 2019, 20:02 »
Ciao, sì certo ho aggiunto solo il primo dei due.
Ho riportato lo stralcio di quanto presente sul sito kivy.org.
Per il punto successivo ho installato quello di python3.

Offline nuzzopippo

  • python habilis
  • **
  • Post: 90
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #5 il: Novembre 14, 2019, 20:54 »
Comincia a diventare pane per denti più robusti dei miei.

Effettuando una ricerca, ho individuato un caso apparentemente similare, mi sembra di capire risolto con l'installazione di alcune librerie SDL, esattamente :
Citazione
The newer packages are building with SDL2 support and without pygame support. I'm guessing the deps on the package didn't get updated. You should be able to fix this for now by running sudo apt-get install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libsdl2-ttf-2.0-0.

Sembrerebbero coinvolte anche le librerie pygame (sono ignorante anche su di esse), ti suggerirei di leggerti il post e comparare la situazione con la Tua ... magari qualche utente più capace di me saprà darti dritte migliori, io non saprei dirTi di più.

Ciao :)

Offline Magnum-py

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re:Kivy - non riesco ad eseguire un semplice programma
« Risposta #6 il: Novembre 14, 2019, 23:17 »
Ok grazie, ho risolto installando pygame e libreria sdl2
sudo apt-get install libsdl2-image-dev
come IDE uso pycharm