2

現在、Pong Game 演習を試して、Kivy 1.8.0 (Windows 7 では Python 3.3.3) を学習しています。すべてのコードを記述した後、コードを .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 コマンドから発生していると思いますが、正確な場所がわかりません:(。助けてください!

ありがとう。よろしく、PLD。

4

2 に答える 2

2

このエラーは、コンパイルに pygame が含まれていなかったことを意味します。

于 2014-07-21T17:16:43.327 に答える
1

さて、いくつかの記事などを読んだ後、Kivy はまだ Python3 の準備ができていないという結論に達しました。Kivy と PyInstaller2 の Python2 バージョンを使用するのが最も簡単な解決策のようです。

于 2014-07-23T18:33:50.733 に答える