簡體   English   中英

Kivy 錯誤(python 2.7):sdl2 導入錯誤

[英]Kivy error (python 2.7) : sdl2 import error

I'm trying to use kivy on my Python 2.7 project (in a PyCharm - Windows 10 environment), but I get the following error.

如果有人可以幫助我? 謝謝

PS:我嘗試了很多次卸載/重新安裝庫等並按照類似帖子的建議進行操作,但它不起作用: Kivy 不工作(錯誤:找不到任何有價值的 Window 提供程序。)

 [INFO ] [Logger ] Record log in C:\Users\cyril\.kivy\logs\kivy_18-03-25_0.txt C:\Users\cyril\venv\lib\site-packages\kivy\modules\__init__.py:128: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if path not in sys.path: [INFO ] [Kivy ] v1.10.0 [INFO ] [Python ] v2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] [INFO ] [Factory ] 194 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored) [CRITICAL] [Window ] Unable to find any valuable Window provider. sdl2 - ImportError: DLL load failed: Le module sp�cifi� est introuvable. File "C:\Users\cyril\venv\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib fromlist=[modulename], level=0) File "C:\Users\cyril\venv\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. Process finished with exit code 1

Problem

It is looking for the Kivy dependencies (e.g. sdl2) in your virtualenv.

Solution

I have encountered the same problem. I did the following and it solved the problem.

Environment

  • Windows 10
  • PyCharm Community
  • Python 3.5
  • Kivy dependencies installed (docutils, pygments, pypiwin32, kivy.deps.sdl2, kivy.deps.glew, kivy.deps.gstreamer) and for Python 3.5+ (kivy.deps.angle)

PyCharm IDE

  1. Open the project
  2. Click File
  3. Click Settings...
  4. Click Project Interpreter
  5. On the right panel, click the drop down list for Project Interpreter
  6. Select the location where the Python interpreter is installed e.g. C:\Users\user-name\AppData\Local\Programs\Python\Python35\python.exe
  7. Click OK until you exit the Settings window
  8. Run your program

Output

Img01 - SDL2 Error Img02 - Python Interpreter Settings Before Change Img03 - Python Interpreter Settings Changed Img04 - Run Kivy App Img05 - SDL2

如果您還沒有安裝所有依賴項,則會出現錯誤,而不是 Project Interpreter 使用 pycharm 終端然后安裝以下

1. python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

  1. python -m pip install kivy_deps.gstreamer==0.1.*

  2. python -m pip install kivy_deps.angle==0.1.*

  3. python -m pip install kivy==1.11.1

檢查一切,重新安裝等仍然沒有運氣,但在使用 -d(調試)選項后,錯誤消息擴展並建議路徑中可能有另一個 sdl2.dll。 經過反復試驗,我在 windows\system32 中找到了一個。 將其移開使錯誤消失。

我嘗試在虛擬環境中運行該應用程序並且它有效。

讓我們變得真實,使用虛擬環境。 Kivys 文檔甚至強烈推薦這個。

重復這一步總是給我一個可運行的 kivy-example 首先卸載你已經安裝的所有與 kivy 相關的庫。

 python -m pip uninstall -y kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle

升級 pip、滾輪、setuptools 和 setuptools

 python -m pip install --upgrade pip wheel setuptools virtualenv

在您的項目文件夾中創建一個 venv 並激活它

python -m virtualenv venv venv\Scripts\activate

(在 bash 上將“源”放在前面。)

將 kivys 依賴項安裝到您的虛擬環境中。

 python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.*

如果您需要視頻和音頻支持:

 python -m pip install kivy_deps.gstreamer==0.1.*

在 Python 3.5+ 上,您可以選擇使用 Angle 而不是 glew,因此可以選擇/或:

 python -m pip install kivy_deps.glew==0.1.* python -m pip install kivy_deps.angle==0.1.*

安裝 kivy

 python -m pip install kivy==1.11.1 kivy_examples==1.11.1

之后做

python venv\share\kivy-examples\demo\showcase\main.py

資料來源: https://kivy.org/doc/stable/installation/installation-windows.html

如果仍然出現“[CRITICAL] [App] Unable to get a Window, abort.”錯誤,CMD:

 set USE_SDL2=1 set USE_GSTREAMER=1

終端:

 export USE_SDL2=1 export USE_GSTREAMER=1

非常感謝,它確實奏效了! 我剛剛在Project Interpreter列表中添加了安裝在C:\\ Python27 \\ python.exe中的“原始” python解釋器,並按您的選擇進行了選擇。

最好的祝福,

只是不可能,在win10上用3.7 64嘗試了所有這些,同樣的例外......這東西不起作用,我想我將不得不嘗試Beeware。 令人失望

而是在您的 IDE 中運行,嘗試在 cmd 或 powershell 中運行程序 Z23EEEB4347BDD26BDDFC6B7EE python <filename> 這個對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM