Не удалось получить окно, прервать. Ошибка Kivy при запуске исполняемого файла, скомпилированного из cython и cl

В настоящее время я изучаю Kivy 1.8.0 (в Windows 7, Python 3.3.3), пытаясь выполнить упражнение Pong Game. После написания всего кода я хотел протестировать компиляцию кода в .exe. Но поскольку PyInstaller доступен только для Python2.X, а не для Python3.X, я искал другие решения. Я просмотрел Интернет и, наконец, попытался скомпилировать свой код с помощью Cython и cl (Visual Studio 10.0). Компиляция работает нормально, но когда я запускаю вывод .exe, он дает мне это в окне «отладки»:

[INFO              ] Kivy v1.8.0
[INFO              ] [Logger      ] Record log in C:\Users\PLD\.kivy\logs\kivy_1
4-07-21_1.txt
[INFO              ] [Factory     ] 157 symbols loaded
[DEBUG             ] [Cache       ] register <kv.lang> with limit=None, timeout=
Nones
[DEBUG             ] [Cache       ] register <kv.image> with limit=None, timeout
=60s
[DEBUG             ] [Cache       ] register <kv.atlas> with limit=None, timeout
=Nones
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif (img_py
game, img_pil ignored)
[DEBUG             ] [Cache       ] register <kv.texture> with limit=1000, timeo
ut=60s
[DEBUG             ] [Cache       ] register <kv.shader> with limit=1000, timeou
t=3600s
[DEBUG             ] [App         ] Loading kv <.\pong.kv>
[DEBUG             ] [Window      ] Ignored <egl_rpi> (import error)
[DEBUG             ] [Window      ] Ignored <pygame> (import error)
[WARNING           ] [WinPygame   ] SDL wrapper failed to import!
[DEBUG             ] [Window      ] Ignored <sdl> (import error)
[DEBUG             ] [Window      ] Ignored <x11> (import error)
[CRITICAL          ] [Window      ] Unable to find any valuable Window provider
at all!
[CRITICAL          ] [App         ] Unable to get a Window, abort.

И выходит. Я не знаю, что не так, зная, что когда я запускаю исходный файл .py, у меня нет никакой ошибки. Вот команды, которые я использовал, и их вывод:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin>vcvars32.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin>cd C:/Kivy-1.8.0-py3.
3-win32

C:\Kivy-1.8.0-py3.3-win32>kivy.bat
botstrapping Kivy @ C:\Kivy-1.8.0-py3.3-win32\
Setting Environment Variables:
#################################
GST_REGISTRY
C:\Kivy-1.8.0-py3.3-win32\gstreamer\registry.bin
---------------
GST_PLUGIN_PATH:
C:\Kivy-1.8.0-py3.3-win32\gstreamer\lib\gstreamer-1.0
---------------
PATH:
C:\Kivy-1.8.0-py3.3-win32\;C:\Kivy-1.8.0-py3.3-win32\Python33;C:\Kivy-1.8.0-py3.
3-win32\tools;C:\Kivy-1.8.0-py3.3-win32\Python33\Scripts;C:\Kivy-1.8.0-py3.3-win
32\gstreamer\bin;C:\Kivy-1.8.0-py3.3-win32\MinGW\bin;C:\Program Files (x86)\Micr
osoft F#\v4.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy
;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\;C:\Program Fil
es (x86)\Microsoft Visual Studio 10.0\VC\BIN;C:\Program Files (x86)\Microsoft Vi
sual Studio 10.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\
Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Stu
dio 10.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program File
s (x86)\Microsoft Visual Studio 10.0\Team Tools\Performance Tools;C:\Program Fil
es (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools;C:\Program Files (x86)
\Microsoft SDKs\Windows\v7.0A\bin;C:\Kivy-1.8.0-py3.3-win32;C:\Kivy-1.8.0-py3.3-
win32\Python33;C:\Kivy-1.8.0-py3.3-win32\gstreamer\bin;C:\Kivy-1.8.0-py3.3-win32
\MinGW\bin;C:\Kivy-1.8.0-py3.3-win32;C:\Kivy-1.8.0-py3.3-win32\Python33;C:\Kivy-
1.8.0-py3.3-win32\gstreamer\bin;C:\Kivy-1.8.0-py3.3-win32\kivy;C:\Kivy-1.8.0-py3
.3-win32;C:\Kivy-1.8.0-py3.3-win32\Python33;C:\Kivy-1.8.0-py3.3-win32\gstreamer\
bin;C:\Kivy-1.8.0-py3.3-win32\MinGW\bin;C:\Kivy-1.8.0-py3.3-win32;C:\Kivy-1.8.0-
py3.3-win32\Python33;C:\Kivy-1.8.0-py3.3-win32\gstreamer\bin;C:\Kivy-1.8.0-py3.3
-win32\kivy;C:\Kivy-1.8.0-py3.3-win32;C:\Kivy-1.8.0-py3.3-win32\Python33;C:\Kivy
-1.8.0-py3.3-win32\gstreamer\bin;C:\Kivy-1.8.0-py3.3-win32\MinGW\bin;C:\Kivy-1.8
.0-py3.3-win32;C:\Kivy-1.8.0-py3.3-win32\Python33;C:\Kivy-1.8.0-py3.3-win32\gstr
eamer\bin;C:\Kivy-1.8.0-py3.3-win32\kivy;C:\Windows\System32;C:\Program Files\Mi
crosoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\Too
ls\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\
Satsuki Decoder Pack\Filtres
----------------------------------
PYTHONPATH:
C:\Kivy-1.8.0-py3.3-win32\kivy;
----------------------------------
##################################
done bootstraping kivy...have fun!\n

-----------------------------------------------------------------------
- Running a shell, you can browse kivyexamples and launch apps with: -
- python app.py -
-----------------------------------------------------------------------

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Kivy-1.8.0-py3.3-win32>cd ../pcod/Python/Python33-Kivy/PingPongGame

C:\pcod\Python\Python33-Kivy\PingPongGame>cython main.py -o main.c --embed

C:\pcod\Python\Python33-Kivy\PingPongGame>python.exe -m cython main.py -o main.c
 --embed

C:\pcod\Python\Python33-Kivy\PingPongGame>cl.exe /nologo /Ox /MD /W3 /GS- /DNDEB
UG -Ic:\Kivy-1.8.0-py3.3-win32\Python33\include -Ic:\Kivy-1.8.0-py3.3-win32\PC m
ain.c /link /OUT:"main.exe" /SUBSYSTEM:CONSOLE /MACHINE:X86 /LIBPATH:c:\Kivy-1.8
.0-py3.3-win32\Python33\libs /LIBPATH:c:\Kivy-1.8.0-py3.3-win32\Python33\PCbuild

main.c
   Creating library main.lib and object main.exp

C:\pcod\Python\Python33-Kivy\PingPongGame>main.exe
[INFO              ] Kivy v1.8.0
[INFO              ] [Logger      ] Record log in C:\Users\PLD\.kivy\logs\kivy_1
4-07-21_2.txt
[INFO              ] [Factory     ] 157 symbols loaded
[DEBUG             ] [Cache       ] register <kv.lang> with limit=None, timeout=
Nones
[DEBUG             ] [Cache       ] register <kv.image> with limit=None, timeout
=60s
[DEBUG             ] [Cache       ] register <kv.atlas> with limit=None, timeout
=Nones
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif (img_py
game, img_pil ignored)
[DEBUG             ] [Cache       ] register <kv.texture> with limit=1000, timeo
ut=60s
[DEBUG             ] [Cache       ] register <kv.shader> with limit=1000, timeou
t=3600s
[DEBUG             ] [App         ] Loading kv <.\pong.kv>
[DEBUG             ] [Window      ] Ignored <egl_rpi> (import error)
[DEBUG             ] [Window      ] Ignored <pygame> (import error)
[WARNING           ] [WinPygame   ] SDL wrapper failed to import!
[DEBUG             ] [Window      ] Ignored <sdl> (import error)
[DEBUG             ] [Window      ] Ignored <x11> (import error)
[CRITICAL          ] [Window      ] Unable to find any valuable Window provider
at all!
[CRITICAL          ] [App         ] Unable to get a Window, abort.

Я считаю, что проблема связана с командой cl.exe, но я не знаю, где именно :(. Пожалуйста, помогите!

Спасибо. С уважением, ПЛД.


person PLD    schedule 21.07.2014    source источник
comment
Если вы хотите создать исполняемые файлы, вам нужно использовать Python 2.7 или внести свой вклад, заставив pyinstaller работать для Py3, или заставить cx_Freeze работать с Kivy.   -  person kitti    schedule 21.07.2014


Ответы (2)


Эта ошибка означает, что pygame не был включен в вашу компиляцию.

person brousch    schedule 21.07.2014
comment
Хм, проверю, как его включить. - person PLD; 22.07.2014

Что ж, прочитав некоторые статьи и прочее, я пришел к выводу, что Kivy еще не готов для Python3. Использование версии Kivy и PyInstaller2 для Python2 кажется самым простым решением.

person PLD    schedule 23.07.2014
comment
Это уже не так. Попробуйте pip3 install pygame и снова запустите скрипт. Проверено, работает на Ubuntu 18.04 и OSX. OSX не требовал pygame. - person jamescampbell; 14.08.2018