Невозможно найти какого-либо ценного провайдера Windows в сгенерированном exe pyinstaller - PullRequest
0 голосов
/ 23 ноября 2018

я написал программу с кивом.

Выполнение инструмента с помощью работало просто отлично, но после того, как я попытался:

pyinstaller --onefile <Mycode.py> 

и сгенерировал мой exe-файл, Kivy не работал

Зарегистрировался как следует:

[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.4.0 - Build 21.20.16.4565'>
[INFO   ] [GL          ] OpenGL vendor <b'Intel'>
[INFO   ] [GL          ] OpenGL renderer <b'Intel(R) HD Graphics 530'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 4
[INFO   ] [GL          ] Shading version <b'4.40 - Build 21.20.16.4565'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[WARNING] [Image       ] Unable to load image <C:\Users\BILLY_~1\AppData\Local\T
emp\_MEI131842\kivy_install\data\glsl\default.png>
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - Exception: SDL2: Unable to load image
  File "site-packages\kivy\core\__init__.py", line 67, in core_select_lib
  File "site-packages\kivy\core\window\window_sdl2.py", line 140, in __init__
  File "site-packages\kivy\core\window\__init__.py", line 968, in __init__
  File "site-packages\kivy\core\window\window_sdl2.py", line 294, in create_wind
ow
  File "site-packages\kivy\core\window\__init__.py", line 1216, in create_window

  File "kivy\graphics\instructions.pyx", line 759, in kivy.graphics.instructions
.RenderContext.__init__
  File "site-packages\kivy\core\image\__init__.py", line 536, in __init__
  File "site-packages\kivy\core\image\__init__.py", line 732, in _set_filename
  File "site-packages\kivy\core\image\__init__.py", line 435, in load
  File "site-packages\kivy\core\image\__init__.py", line 201, in __init__
  File "site-packages\kivy\core\image\img_sdl2.py", line 41, in load

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

1 Ответ

0 голосов
/ 21 декабря 2018

Причина в том, что в пути поиска DLL есть еще один zlib1.dll, вероятно, этот файл DLL не содержит функций, необходимых для kivy.

Вы можете просто переименовать или удалить zlib1.dllфайл в пути поиска DLL, в моем случае это файл c:\windows\system32\zlib1.dll, и перезагрузите компьютер, приложение kivy успешно запустилось.

...