Kivy: Le chargement de la DLL sdl2 de Kivy a échoué

Créé le 26 mars 2018  ·  29Commentaires  ·  Source: kivy/kivy

  • Python : 3.6.4
  • Système d'exploitation : Windows 10
  • Kivy : 1.10.0
  • Méthode d'installation de Kivy :
    python -m pip install --upgrade outils de configuration de la roue pip
    python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
    python -m pip installer kivy.deps.gstreamer
    python -m pip installer kivy.deps.angle
    python -m pip installer kivy
    python -m pip installer kivy_examples
    python -m pip installer Oreiller
    python -m pip installer cython
    python -m pip installer PyEnchant

La description

Bonjour, j'essaie d'exécuter l'exemple de code à partir de l'installation de Kivy. Voici l'erreur que je reçois. Toute aide est la bienvenue. J'ai essayé d'examiner les enquêtes précédentes sur des problèmes similaires, mais rien de ce qui a été suggéré à leur sujet n'a fonctionné jusqu'à présent.

[INFO   ] [Logger      ] Record log in C:\Users\DoddJ\.kivy\logs\kivy_18-03-26_52.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 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.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in <module>
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception ignored in: 'kivy.properties.dpi2px'
 Traceback (most recent call last):
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\utils.py", line 496, in __get__
     retval = self.func(inst)
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\metrics.py", line 174, in dpi
     EventLoop.ensure_window()
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\base.py", line 127, in ensure_window
     sys.exit(1)
 SystemExit: 1
[CRITICAL] [App         ] Unable to get a Window, abort.

Code et journaux

Code que j'essaie d'exécuter :

import kivy
kivy.require('1.10.0') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):

    def build(self):
        return Label(text='Hello world')


if __name__ == '__main__':
    MyApp().run()
documentation Windows

Commentaire le plus utile

Bien,

d'autres tests révèlent qu'il fonctionne correctement si LES DEUX kivy.deps.glew ET kivy.deps.sdl2 sont installés en mode Administrateur.

Je pense que le problème réside dans le fait que trop de choses sont codées en dur dans site-packages\kivy\deps\*\__init__.py

Je me demande s'il existe un moyen plus canonique d'ajouter des DLL à partir de packages Pip dans le PATH ...?

Tous les 29 commentaires

qu'est-ce que cela dit sur votre système (PowerShell):

python -m pip freeze | select-string cython

@dolang c'est dit
'select-string' n'est pas reconnu comme une commande interne ou externe,
programme utilisable ou fichier de commandes.

oui, désolé ce n'était pas clair. Vous devez exécuter cela dans PowerShell. C'est le remplacement de l'invite DOS.

Utilisez Win + x puis sélectionnez-le, ou tapez powershell à l'invite de commande. Vous aurez PS comme les 2 premières lettres de l'invite.

Oh d'accord. Dans le powershell, il est dit

Cython==0.27.3

D'accord, j'ai essayé de le reproduire avec un environnement similaire mais pas le même sans succès. Fondamentalement, ce que l'erreur indique, c'est que la bibliothèque sdl2 est manquante. Mais il aurait dû être installé avec python -m pip install kivy.deps.sdl2 qui se trouve quelque part dans votre description d'origine.

Je vais devoir essayer de reproduire ceci sur une autre machine, vous pouvez essayer de pip uninstall ... + pip install ... cette dépendance en attendant.

Essayé sur une autre machine maintenant, obtenant le même résultat (c'est-à-dire que cela fonctionne ici). Qu'est-ce que vous avez pour:

PS  C:\> python -m pip freeze | select-string sdl2

cela devrait vous donner : kivy.deps.sdl2==0.1.17 .

Alternativement, si vous avez plusieurs interpréteurs Python installés :

PS  C:\> py -3.6 -m pip freeze | select-string sdl2

Si l'une de ces deux commandes ne vous donne pas le résultat ci-dessus, essayez de réinstaller kivy.deps.sdl2 .

S'ils le font et que cela ne fonctionne pas, veuillez coller ce que vous obtenez avec :

PS C:\> dir C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\share\sdl2\bin

Vous devrez peut-être réinstaller l'interpréteur Python 64 bits. (Juste une supposition, pas encore sûr.)

j'ai fait ça et

obtenir kivy.deps.sdl2==0.1.17

J'ai désinstallé 32 bits et installé Python 64 bits à sa place, cependant, j'obtiens toujours cette erreur

H:\untitled2\Scripts\python.exe "C:/Users/DoddJ/PycharmProjects/untitled/KIVY TEST.py"
[INFO   ] [Logger      ] Record log in C:\Users\DoddJ\.kivy\logs\kivy_18-03-28_40.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 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.

[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception ignored in: 'kivy.properties.dpi2px'
 Traceback (most recent call last):
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36\lib\site-packages\kivy\utils.py", line 496, in __get__
     retval = self.func(inst)
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36\lib\site-packages\kivy\metrics.py", line 174, in dpi
     EventLoop.ensure_window()
   File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36\lib\site-packages\kivy\base.py", line 127, in ensure_window
     sys.exit(1)
 SystemExit: 1
[CRITICAL] [App         ] Unable to get a Window, abort.

Process finished with exit code 1

Eh bien, je ne savais pas si 32/64 bits pouvait être le problème ici. Mais pouvez-vous regarder si le .dll est bien là ?

PS C:\> dir C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36\share\sdl2\bin

S'il est là, peut-être que votre antivirus le bloque, ou votre pare-feu (ou un autre logiciel vraiment intrusif) ? Ce n'est pas quelque chose qui devrait arriver, à mon humble avis.

Edit : j'ai revu mon installation et ouvert une application en cours d'exécution dans Process Hacker. Ce SDL2.dll est conçu sur mesure pour PyPI et il semble qu'il ne soit pas signé. Selon vos paramètres de politique Windows, il pourrait être bloqué automatiquement à cause de cela. Peut-être que ce qui suit peut aider?

Windows 10 : débloquer un fichier dans Windows 10

Selon un commentaire précédent, vous avez cython 0.27.3 et le journal de la console indique Kivy v1.10.0 ... ces versions ne sont pas compatibles, bien que je ne sache pas exactement pourquoi le fournisseur de fenêtres manquant est le premier indice de ce problème. .. Essayez peut-être d'utiliser cython 0.25.2 (compatible avec 1.10) + réinstallez kivy, ou alternativement pip install kivy==master avec votre version actuelle de cython ?

Je reçois également ce problème avec Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32

````
C:> python3 -m pip show kivy kivy.deps.glew kivy.deps.sdl2
Nom : Kivy
Version : 1.10.0
Résumé : Une bibliothèque de logiciels pour le développement rapide d'applications multitouch accélérées par le matériel.
Page d'accueil : http://kivy.org
Auteur : Kivy Team et autres contributeurs
E-mail de l'auteur : [email protected]
Licence : MIT
Emplacement : c:\users\jedingtoappdata\roaming\python\python36\site-packages
Nécessite : docutils, Kivy-Garden, pygments

Requis par:

Nom : kivy.deps.glew
Version : 0.1.9
Résumé : Dépendance binaire reconditionnée de Kivy.
Page d'accueil : http://kivy.org/
Auteur : Kivy Crew
E-mail de l'auteur : [email protected]
Licence : MIT
Emplacement : c:\users\jedingtoappdata\roaming\python\python36\site-packages
A besoin:

Requis par:

Nom : kivy.deps.sdl2
Version : 0.1.17
Résumé : Dépendance binaire reconditionnée de Kivy.
Page d'accueil : http://kivy.org/
Auteur : Kivy Crew
E-mail de l'auteur : [email protected]
Licence : zlib
Emplacement : c:\users\jedingtoappdata\roaming\python\python36\site-packages
A besoin:
Requis par:
````

l'exécuter donne ceci:

````
Python 3.6.5 (v3.6.5:f59c0932b4, 28 mars 2018, 17:00:18) [MSC v.1900 64 bits (AMD64)] sur win32
Tapez "aide", "copyright", "crédits" ou "licence" pour plus d'informations.

depuis l'application d'importation kivy.app
[INFO ] [Logger ] Enregistrer le journal dans C:\Users\jedingto.kivy\logs\kivy_18-05-17_4.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v3.6.5 (v3.6.5:f59c0932b4, 28 mars 2018, 17:00:18) [MSC v.1900 64 bits (AMD64)]
[INFO ] [Usine ] 194 symboles chargés
[INFO ] [Image ] Fournisseurs : img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignorés)
depuis kivy.uix.widget importer le widget
classe PongGame(Widget):
... passe
...
classe PongApp(App):
... def build(self):
... retourne PongGame()
...
PongApp().run()
[CRITIQUE] [Window ] Impossible de trouver un fournisseur Windows valable.
sdl2 - ImportError : Échec du chargement de la DLL : le module spécifié est introuvable.
Fichier "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core__init__.py", ligne 59, dans core_select_lib
fromlist=[nom du module], niveau=0)
Fichier "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", ligne 26, dans
depuis kivy.core.window._window_sdl2 importer _WindowSDL2Storage

[CRITIQUE] [App ] Impossible d'obtenir une fenêtre, abandonnez.
````

Malgré l'existence de la DLL SDL2 :

````
répertoire %AppData%\Python\sharesdl2\bin\SDL2.dll
Le volume du lecteur C est XXXXXX
Le numéro de série du volume est 0000-0000

Répertoire de C:\Users\USERAppData\Roaming\Python\sharesdl2\bin

2018-05-17 11:33 1 254 400 SDL2.dll
1 Fichier(s) 1 254 400 octets
0 Dir(s) 161 199 689 728 octets libres
````

et je dois ajouter que cela se produit même si je désinstalle kivy.deps.sdl du mode --user et que je l'installe dans C:\Program Files\Python\share\sdl2 via le mode administrateur, l'erreur est la même :

````

PongApp().run()
[CRITIQUE] [Window ] Impossible de trouver un fournisseur Windows valable.
sdl2 - ImportError : Échec du chargement de la DLL : le module spécifié est introuvable.
Fichier "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core__init__.py", ligne 59, dans core_select_lib
fromlist=[nom du module], niveau=0)
Fichier "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", ligne 26, dans
depuis kivy.core.window._window_sdl2 importer _WindowSDL2Storage

[CRITIQUE] [App ] Impossible d'obtenir une fenêtre, abandonnez.

````

Cela ne fonctionne même pas si je cd directement dans le répertoire à côté de SDL2.dll avant d'exécuter python3

Bon, il y a plusieurs choses en jeu ici :

  1. le .dll doit exister dans ce répertoire
  2. le fichier ...\site-packages\kivy\deps\sdl2\__init__.py est chargé et pointe vers le .dll
  3. Windows (ou un autre logiciel intrusif comme certains antivirus) lui-même ne bloque pas le chargement

Jusqu'à présent, je n'ai pas pu le reproduire, mais 3. est quelque chose qui ne peut pas être exclu.

Une autre chose que vous pouvez essayer : ouvrez une invite de commande et pointez le PATH directement sur le dossier sdl2. Quelque chose comme:

\> set PATH=C:\Users\USER\AppData\Roaming\Python\share\sdl2\bin;%PATH%

@dolang Eh bien, il semble que l'ajout du dossier $# SDL2.dll %PATH% aux correctifs %PATH%... fait partie de cette erreur. img_sdl2 n'est plus "ignoré", mais il est toujours "Impossible de trouver un fournisseur Windows valable". Il a également donné un message d'erreur légèrement différent (presque exclusivement étendu ?)

[INFO ] [Logger ] Record log in C:\Users\jedingto\.kivy\logs\kivy_18-05-17_15.txt [INFO ] [Kivy ] v1.10.0 [INFO ] [Python ] v3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] [INFO ] [Factory ] 194 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored) [INFO ] [OSC ] using <thread> for socket [INFO ] [Window ] Provider: sdl2 [CRITICAL] [Window ] Unable to find any valuable Window provider. sdl2 - ImportError: DLL load failed: The specified module could not be found. File "C:\Users\jedingto\AppData\Roaming\Python\Python36\site-packages\kivy\core\__init__.py", line 67, in core_select_lib cls = cls() File "C:\Users\jedingto\AppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", line 140, in __init__ super(WindowSDL, self).__init__() File "C:\Users\jedingto\AppData\Roaming\Python\Python36\site-packages\kivy\core\window\__init__.py", line 899, in __init__ self.create_window() File "C:\Users\jedingto\AppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", line 269, in create_window self.fullscreen, resizable, state) File "kivy\core\window\_window_sdl2.pyx", line 110, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy\core/window\_window_sdl2.c:2466) File "kivy\graphics\cgl.pyx", line 52, in kivy.graphics.cgl.cgl_get_backend_name (kivy\graphics\cgl.c:3044) File "kivy\graphics\cgl.pyx", line 60, in kivy.graphics.cgl.cgl_get_backend_name (kivy\graphics\cgl.c:2879) File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 658, in _load_unlocked File "<frozen importlib._bootstrap>", line 571, in module_from_spec File "<frozen importlib._bootstrap_external>", line 922, in create_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

J'ai confirmé en ajoutant et en supprimant à plusieurs reprises cela du PATH que la présence de img_sdl2 dans la section "ignoré" en dépend, et que le texte d'erreur étendu apparaît ou disparaît selon qu'il peut trouver SDL2 ou non.

Maintenant, la dépendance glew devrait avoir un dossier juste à côté ( share\glew\bin ). Que se passe-t-il si vous ajoutez cela aussi ?

Ah !

Ainsi, sous Windows, il peut être "résolu" en ajoutant %AppData%\Python\share\glew\bin;%AppData%\Python\share\sdl2\bin; à PATH :

cmd /C "PATH=%AppData%\Python\share\glew\bin;%AppData%\Python\share\sdl2\bin;%PATH% && python3 -c ^"from kivy.core.window._window_sdl2 import _WindowSDL2Storage^""

Mais malheureusement ce n'est pas une solution en soi

Comment les bibliothèques pip-installed-python sont-elles censées se frayer un chemin dans les PATH lesquelles elles doivent se trouver pour fonctionner ? (Un redémarrage était insuffisant)

C'était juste un indice pour moi pour savoir si les bibliothèques sont réellement bloquées ou non. Heureusement qu'ils ne le sont pas.

Comme indiqué ci-dessus (point 2.), vous pouvez voir que si vous ouvrez le __init__.py dans site-packages\kivy\deps\... , mais cela devrait fonctionner immédiatement. Maintenant, je dois trouver un moyen de casser le mien exactement comme dans votre cas. :le sourire:

Cela sert-il à quelque chose ?

````

importer l'APD
pdb.run()
InterruptionClavier
agneau
InterruptionClavier
pdb.run("depuis kivy.core.window._window_sdl2 import _WindowSDL2Storage")
(1)()
(Pdb) s
--Appeler--
(966)_trouver_et_charger()
(Pdb)
(968)_trouver_et_charger()
(Pdb)
--Appeler--
(143)__init__()
(Pdb)
(144)__init__()
(Pdb)
(145)__init__()
(Pdb)
--Retourner--
(145)__init__()->Aucun
(Pdb)
--Appeler--
(147)__enter__()
(Pdb)
(148)__enter__()
(Pdb)
--Appeler--
(157)_get_module_lock()
(Pdb)
(163)_get_module_lock()
(Pdb)
(164)_get_module_lock()
(Pdb)
(165)_get_module_lock()
(Pdb)
(166)_get_module_lock()
(Pdb)
Erreur de clé : 'kivy.core.window._window_sdl2'
(166)_get_module_lock()
(Pdb)
(167)_get_module_lock()
(Pdb)
(168)_get_module_lock()
(Pdb)
(170)_get_module_lock()
(Pdb)
(171)_get_module_lock()
(Pdb)
(174)_get_module_lock()
(Pdb)
--Appeler--
(58)__init__()
(Pdb)
(59)__init__()
(Pdb)
(60)__init__()
(Pdb)
(61)__init__()
(Pdb)
(62)__init__()
(Pdb)
(63)__init__()
(Pdb)
(64)__init__()
(Pdb)
--Retourner--
(64)__init__()->Aucun
(Pdb)
(176)_get_module_lock()
(Pdb)
(187)_get_module_lock()
(Pdb)
(189)_get_module_lock()
(Pdb)
(191)_get_module_lock()
(Pdb)
--Retourner--
(191)_get_module_lock()->_ModuleLock('... 1869402554208
(Pdb)
(149)__enter__()
(Pdb)
--Appeler--
(78)acquérir()
(Pdb)
(84)acquérir()
(Pdb)
(85)acquérir()
(Pdb)
(86)acquérir()
(Pdb)
(87)acquérir()
(Pdb)
(88)acquérir()
(Pdb)
(89)acquérir()
(Pdb)
(90)acquérir()
(Pdb)
(91)acquérir()
(Pdb)
(92)acquérir()
(Pdb)
(101)acquérir()
(Pdb)
Erreur de clé : 12616
(101)acquérir()
(Pdb)
--Retourner--
(101)acquérir()->Aucun
(Pdb)
Erreur de clé : 12616
(149)__enter__()
(Pdb)
--Retourner--
(149)__enter__()->Aucun
(Pdb)
Erreur de clé : 12616
(968)_trouver_et_charger()
(Pdb)
--Retourner--
(968)_find_and_load()->Aucun
(Pdb)
Erreur de clé : 12616
(1)()
(Pdb)
--Retourner--
(1)()->Aucun
(Pdb)
Erreur de clé : 12616
c:\program filespython36\lib\bdb.py(434)run()
-> exec(cmd, globals, locaux)
(Pdb)
c:\program filespython36\lib\bdb.py(435)run()
-> sauf BdbQuit :
(Pdb)
c:\program filespython36\lib\bdb.py(438)run()
-> self.quitting = Vrai
(Pdb)
Traceback (dernier appel le plus récent) :
Déposer "", ligne 1, dans
Fichier "C:\Program Files\Python36\lib\pdb.py", ligne 1572, en cours
Pdb().run(instruction, globales, locales)
Fichier "C:\Program Files\Python36\lib\bdb.py", ligne 434, en cours
exec(cmd, globals, locaux)
Déposer "", ligne 1, dans
Déposer "", ligne 968, dans _find_and_load
Déposer "", ligne 149, dans __enter__
Déposer "", ligne 101, dans acquérir
Erreur de clé : 12616
````

Bien,

d'autres tests révèlent qu'il fonctionne correctement si LES DEUX kivy.deps.glew ET kivy.deps.sdl2 sont installés en mode Administrateur.

Je pense que le problème réside dans le fait que trop de choses sont codées en dur dans site-packages\kivy\deps\*\__init__.py

Je me demande s'il existe un moyen plus canonique d'ajouter des DLL à partir de packages Pip dans le PATH ...?

Bonne question, mais je ne sais pas comment l'équipe est arrivée à sa solution actuelle. Au moins, nous pourrions le réduire maintenant, c'est donc un pas en avant.

Au fait, connaissez-vous virtualenv . Je les utilise normalement et j'ai rarement des problèmes. Donc pour l'instant vous pouvez faire (admin):

py -m pip install virtualenv

Compte d'utilisateur normal ( .venv est mon nom préféré du répertoire du virtualenv, changez comme vous le souhaitez):

py -m virtualenv .venv
.venv\Scripts\activate
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy

ajouter éventuellement : python -m pip install kivy.deps.gstreamer

J'espère que j'ai bien compris.

Configuration windows 10 python 363 (visual studio 2017):

[INFO   ] [Logger      ] Record log in C:\Users\Laurent\.kivy\logs\kivy_18-08-23_29.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[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 390.77'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'GeForce GTX 970/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[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   ] [Text        ] Provider: sdl2
Standard library module invoked user code during import; breakpoints disabled for invoked code.
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
[WARNING] [Accordion   ] not enough space for displaying all children
[WARNING] [Accordion   ] need 132px, got 84px
[WARNING] [Accordion   ] layout aborted.
[WARNING] [Accordion   ] not enough space for displaying all children
[WARNING] [Accordion   ] need 132px, got 84px
[WARNING] [Accordion   ] layout aborted.
[INFO   ] [Base        ] Leaving application in progress...
The thread 'MainThread' (0x13ec) has exited with code 0 (0x0).

J'ai le même problème et je le résous et ma solution n'est pas bonne. Je copie toutes les dll (share/sdl2 share/angle share/glew share/gstreamer) dans un référentiel et j'ajoute ce référentiel à la variable path.

J'ai installé kivy en utilisant le droit d'administrateur (https://kivy.org/docs/installation/installation-windows.html) et j'ai essayé de l'exécuter en utilisant le droit d'utilisateur (utilisateur laurent ) puis une erreur se produit : [CRITICAL] [Window ] Unable to find n'importe quel fournisseur de fenêtre précieux.
sdl2 - ImportError : Échec du chargement de la DLL : le module spécifié est introuvable.

La copie de toutes les dll dans un nouveau dossier résout les problèmes. Ma question est alors Comment puis-je installer kivy pour exécuter kivy avec des privilèges d'utilisateur ?

PS désolé je ne suis pas bon en anglais et en python

Au fait, connaissez-vous virtualenv . Je les utilise normalement et j'ai rarement des problèmes. Donc pour l'instant vous pouvez faire (admin):

py -m pip install virtualenv

Compte d'utilisateur normal ( .venv est mon nom préféré du répertoire du virtualenv, changez comme vous le souhaitez):

py -m virtualenv .venv
.venv\Scripts\activate
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy

J'ai essayé d'utiliser virtualenv et cela n'a pas fonctionné. J'ai toujours une erreur similaire. J'ai également ajouté C:\Program Files\Python37\share\sdl2\bin et C:\Program Files\Python37\share\angle\bin à mon PATH déjà. Et j'ai fait ce que je pense que @LaurentBerger a fait, copier ces deux fichiers dans un autre répertoire, puis ajouter ce répertoire au chemin. L'utilisation de virtualenv avec les deux options PATH ne fonctionnait pas non plus pour moi.

J'utilise python 3.7 donc j'ai installé kivy.deps.angle au lieu de kivy.deps.glew

Journaux :
```(venv) C:\Users\henry\Documents\Side Projects\fps>py main.py
[INFO ] [Logger ] Enregistrer le journal dans C:\Users\henry.kivy\logs\kivy_18-09-15_16.txt
[INFO ] [Kivy ] v1.10.1
[INFO ] [Python ] v3.7.0 (v3.7.0:1bf9cc5093, 27 juin 2018, 04:59:51) [MSC v.1914 64 bits (AMD64)]
[INFO ] [Usine ] 194 symboles chargés
[INFO ] [Image ] Fournisseurs : img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignorés)
[INFO ] [Texte ] Fournisseur : sdl2
[INFO ] [Fenêtre ] Fournisseur : sdl2
[CRITIQUE] [Window ] Impossible de trouver un fournisseur Windows valable.
sdl2 - ImportError : Échec du chargement de la DLL : le module spécifié est introuvable.
Fichier "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core__init__.py", ligne 67, dans core_select_lib
cls = cls()
Fichier "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", ligne 140, dans __init__
super(WindowSDL, self).__init__()
Fichier "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window__init__.py", ligne 968, dans __init__
self.create_window()
Fichier "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", ligne 272, dans create_window
self.plein écran, redimensionnable, état)
Fichier "kivy\core\window_window_sdl2.pyx", ligne 125, dans kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
Fichier "kivy\graphics\cgl.pyx", ligne 52, dans kivy.graphics.cgl.cgl_get_backend_name
Fichier "kivy\graphics\cgl.pyx", ligne 60, dans kivy.graphics.cgl.cgl_get_backend_name
Fichier "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\importlib__init__.py", ligne 127, dans import_module
return _bootstrap._gcd_import(name[level:], package, level)
Déposer "", ligne 1006, dans _gcd_import
Déposer "", ligne 983, dans _find_and_load
Déposer "", ligne 967, dans _find_and_load_unlocked
Déposer "", ligne 670, dans _load_unlocked
Déposer "", ligne 583, dans module_from_spec
Déposer "", ligne 1043, dans create_module
Déposer "", ligne 219, dans _call_with_frames_removed

[CRITIQUE] [App ] Impossible d'obtenir une fenêtre, abandonnez.
```

Sur ce sujet, j'ai vu mélanger des architectures de bibliothèques (Python en 64 bits, SDL2 en 32 bits), donc c'est un premier arrêt. Et oui, si vous avez mélangé l'arche, les bibliothèques ne seront pas du tout utilisées et Kivy ne fonctionnera pas.
L'installation de SDL2 via kivy.deps.sdl2 devrait fonctionner.

J'utilise Python 3.7 et j'obtiens cette erreur. la version kivy est la 1.10.1
comment dois-je le résoudre

même ici python 3.7, la version kivy est 1.10.1 et a essayé tous les moyens de charger la DLL mais ne montre aucune pitié.

https://stackoverflow.com/questions/49466785/kivy-error-python-2-7-sdl2-import-error/49477111#49477111

Ceci résout mon problème qui est le même que celui que vous aviez
J'espère que cela vous aidera

J'ai eu le même problème. Cette vidéo peut aider ceux qui sont visuels ! https://youtu.be/gt-qndBYrCQ

J'ai eu beaucoup de problèmes, mais j'ai réussi à les résoudre. Voici ce que j'ai appris (en utilisant PyCharm):
1) Vous ne pouvez pas installer Kivy sur Python 3.8. Si vous avez 3.8, revenez à 3.7.
2) J'ai installé tous les packages dont quelqu'un d'autre a posté une photo. Je posterai le mien ici. Accédez à votre interpréteur de projet et appuyez sur le bouton "+" pour tous les ajouter. Ils devraient s'installer avec succès.
pkg1
pkg2
3) Obtenait l'erreur de fenêtre sdl2. J'ai regardé cette courte vidéo (https://www.youtube.com/watch?v=e_jv8KsYBrs&t=212s) (que Dieu bénisse cette personne) et j'ai changé mes chemins dans mon environnement système.
4) J'ai ensuite réinstallé les dépendances du site Web de Kivy - ET ÇA A MARCHÉ !!!

J'espère que cela aide quelqu'un !!!!

Au fait, connaissez-vous virtualenv . Je les utilise normalement et j'ai rarement des problèmes. Donc pour l'instant vous pouvez faire (admin):

py -m pip install virtualenv

Compte d'utilisateur normal ( .venv est mon nom préféré du répertoire du virtualenv, changez comme vous le souhaitez):

py -m virtualenv .venv
.venv\Scripts\activate
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy

J'ai essayé d'utiliser virtualenv et cela n'a pas fonctionné. J'ai toujours une erreur similaire. J'ai également ajouté C:\Program Files\Python37\share\sdl2\bin et C:\Program Files\Python37\share\angle\bin à mon PATH déjà. Et j'ai fait ce que je pense que @LaurentBerger a fait, copier ces deux fichiers dans un autre répertoire, puis ajouter ce répertoire au chemin. L'utilisation de virtualenv avec les deux options PATH ne fonctionnait pas non plus pour moi.

J'utilise python 3.7 donc j'ai installé kivy.deps.angle au lieu de kivy.deps.glew

Journaux :

[INFO   ] [Logger      ] Record log in C:\Users\henry\.kivy\logs\kivy_18-09-15_16.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\__init__.py", line 67, in core_select_lib
    cls = cls()
  File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 140, in __init__
    super(WindowSDL, self).__init__()
  File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\__init__.py", line 968, in __init__
    self.create_window()
  File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 272, in create_window
    self.fullscreen, resizable, state)
  File "kivy\core\window\_window_sdl2.pyx", line 125, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy\graphics\cgl.pyx", line 52, in kivy.graphics.cgl.cgl_get_backend_name
  File "kivy\graphics\cgl.pyx", line 60, in kivy.graphics.cgl.cgl_get_backend_name
  File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

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

Essayez de copier manuellement les dossiers glew, sdl2 et __init__.py de ../site-packages/kivy_deps vers ../site-packages/kivy/deps.
Cela a fonctionné pour moi

Cette page vous a été utile?
0 / 5 - 0 notes