Kivy: Kivy sdl2 DLL Pemuatan gagal

Dibuat pada 26 Mar 2018  ·  29Komentar  ·  Sumber: kivy/kivy

  • Python: 3.6.4
  • OS: Windows 10
  • Kivy: 1.10.0
  • Metode instalasi Kivy:
    python -m pip install --upgrade pip wheel setuptools
    python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
    python -m pip install kivy.deps.gstreamer
    python -m pip install kivy.deps.angle
    python -m pip instal kivy
    python -m pip instal kivy_examples
    python -m pip install Bantal
    python -m pip instal cython
    python -m pip instal PyEnchant

Keterangan

Hai, Saya mencoba menjalankan kode contoh dari instal Kivy. Berikut ini adalah kesalahan yang saya terima kembali. Bantuan apa pun akan sangat membantu. Saya telah mencoba melihat pertanyaan sebelumnya tentang masalah serupa, tetapi sejauh ini tidak ada saran yang berhasil.

[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.

Kode dan Log

Kode yang saya coba jalankan:

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

Komentar yang paling membantu

Sehat,

beberapa pengujian lebih lanjut mengungkapkan bahwa itu berfungsi dengan benar jika KEDUA kivy.deps.glew DAN kivy.deps.sdl2 diinstal dalam mode Administrator.

Saya pikir masalahnya terletak pada terlalu banyak hardcode menjadi site-packages\kivy\deps\*\__init__.py

Saya ingin tahu apakah ada cara yang lebih kanonik untuk menambahkan DLL dari paket Pip ke dalam PATH ...?

Semua 29 komentar

apa yang dikatakan ini di sistem Anda (PowerShell):

python -m pip freeze | select-string cython

@dolang katanya
'select-string' tidak dikenali sebagai perintah internal atau eksternal,
program yang dapat dioperasikan atau file batch.

ya, maaf itu tidak jelas. Anda perlu menjalankannya di PowerShell. Ini adalah pengganti untuk DOS prompt.

Gunakan Win + x lalu pilih, atau ketik powershell pada command prompt. Anda akan memiliki PS sebagai 2 huruf pertama dari prompt.

Oh baiklah. Di powershell tertulis

Cython==0.27.3

Baiklah, mencoba mereproduksinya dengan lingkungan serupa yang tidak sama tanpa hasil. Pada dasarnya, apa yang dikatakan kesalahannya adalah bahwa perpustakaan sdl2 tidak ada. Tapi seharusnya sudah diinstal dengan python -m pip install kivy.deps.sdl2 yang ada di deskripsi asli Anda di suatu tempat.

Saya harus mencoba mereproduksi ini di komputer lain lagi, Anda dapat mencoba pip uninstall ... + pip install ... ketergantungan itu untuk sementara.

Mencoba di komputer lain sekarang, mendapatkan hasil yang sama (yaitu berfungsi di sini). Apa yang Anda miliki untuk:

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

itu akan memberi Anda: kivy.deps.sdl2==0.1.17 .

Atau, jika Anda memiliki beberapa juru bahasa Python yang diinstal:

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

Jika salah satu dari dua perintah ini tidak memberikan hasil di atas, coba instal ulang kivy.deps.sdl2 .

Jika mereka melakukannya dan tidak berhasil, harap rekatkan apa yang Anda dapatkan dengan:

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

Mungkin Anda harus menginstal ulang interpreter Python 64-bit. (Hanya tebakan, belum yakin.)

Saya melakukan itu dan

dapatkan kivy.deps.sdl2==0.1.17

Saya telah menghapus 32-bit dan menginstal Python 64-bit sebagai gantinya, namun, masih mendapatkan kesalahan ini

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

Yah, saya tidak yakin apakah 32/64-bit bisa menjadi masalah di sini. Tetapi dapatkah Anda melihat apakah .dll itu benar-benar ada?

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

Jika ada, mungkin pemindai virus Anda memblokirnya, atau firewall Anda (atau perangkat lunak lain yang mengganggu)? Ini bukan sesuatu yang harus terjadi, imho.

Sunting: lihat instalasi saya lagi dan buka aplikasi yang berjalan di Process Hacker. SDL2.dll ini dibuat khusus untuk PyPI dan sepertinya tidak ditandatangani. Tergantung pada pengaturan kebijakan Windows Anda, itu bisa diblokir secara otomatis karena itu. Mungkin yang berikut ini bisa membantu?

Windows 10: Buka Blokir File di Windows 10

Menurut komentar sebelumnya, Anda memiliki cython 0.27.3 dan log konsol mengatakan Kivy v1.10.0 ... versi tersebut tidak kompatibel, meskipun saya tidak yakin persis mengapa penyedia jendela yang hilang adalah petunjuk pertama untuk masalah ini.. .. Mungkin coba gunakan cython 0.25.2 (kompatibel dengan 1.10) + instal ulang kivy, atau sebagai alternatif pip install kivy==master dengan versi cython Anda saat ini?

Saya mendapatkan masalah ini juga dengan 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 tampilkan kivy kivy.deps.glew kivy.deps.sdl2
Nama: Kivy
Versi: 1.10.0
Ringkasan: Pustaka perangkat lunak untuk pengembangan cepat aplikasi multisentuh yang dipercepat perangkat keras.
Halaman beranda: http://kivy.org
Penulis: Tim Kivy dan kontributor lainnya
Penulis-email: [email protected]
Lisensi: MIT
Lokasi: c:\users\jedingtoappdata\roaming\python\python36\site-packages
Membutuhkan: docutils, Kivy-Garden, pygments

Diperlukan-oleh:

Nama: kivy.deps.glew
Versi: 0.1.9
Ringkasan: Ketergantungan biner yang dikemas ulang dari Kivy.
Halaman beranda: http://kivy.org/
Pengarang: Kivy Crew
Penulis-email: [email protected]
Lisensi: MIT
Lokasi: c:\users\jedingtoappdata\roaming\python\python36\site-packages
Memerlukan:

Diperlukan-oleh:

Nama: kivy.deps.sdl2
Versi: 0.1.17
Ringkasan: Ketergantungan biner yang dikemas ulang dari Kivy.
Halaman beranda: http://kivy.org/
Pengarang: Kivy Crew
Penulis-email: [email protected]
Lisensi: zlib
Lokasi: c:\users\jedingtoappdata\roaming\python\python36\site-packages
Memerlukan:
Diperlukan-oleh:
````

menjalankannya memberikan yang berikut:

````
Python 3.6.5 (v3.6.5:f59c0932b4, 28 Mar 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] di win32
Ketik "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut.

dari kivy.app impor App
[INFO ] [Logger ] Rekam log di 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 Mar 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
[INFO ] [Pabrik] 194 simbol dimuat
[INFO ] [Gambar ] Penyedia: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer diabaikan)
dari kivy.uix.widget impor Widget
kelas PongGame(Widget):
... lulus
...
kelas PongApp(Aplikasi):
... def membangun (diri):
... kembalikan PongGame()
...
PongApp().run()
[KRITIS] [Window ] Tidak dapat menemukan penyedia Window yang berharga.
sdl2 - ImportError: Beban DLL gagal: Modul yang ditentukan tidak dapat ditemukan.
File "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core__init__.py", baris 59, di core_select_lib
dari daftar=[nama modul], level=0)
File "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", baris 26, di
dari kivy.core.window._window_sdl2 impor _WindowSDL2Storage

[KRITIS] [Aplikasi] Tidak bisa mendapatkan Jendela, batalkan.
````

Meskipun keberadaan DLL SDL2:

````
dir %AppData%\Python\sharesdl2\bin\SDL2.dll
Volume di drive C adalah XXXXXX
Volume Nomor Seri adalah 0000-0000

Direktori C:\Users\USERAppData\Roaming\Python\sharesdl2\bin

17-05-2018 11:33 1.254.400 SDL2.dll
1 File 1.254.400 byte
0 Dir 161.199.689.728 byte gratis
````

dan saya harus menambahkan bahwa ini terjadi bahkan jika saya menghapus kivy.deps.sdl dari mode --user dan menginstalnya ke C:\Program Files\Python\share\sdl2 melalui Mode Administrator, kesalahannya sama:

````

PongApp().run()
[KRITIS] [Window ] Tidak dapat menemukan penyedia Window yang berharga.
sdl2 - ImportError: Beban DLL gagal: Modul yang ditentukan tidak dapat ditemukan.
File "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core__init__.py", baris 59, di core_select_lib
dari daftar=[nama modul], level=0)
File "C:\Users\jedingtoAppData\Roaming\Python\Python36\site-packages\kivy\core\window\window_sdl2.py", baris 26, di
dari kivy.core.window._window_sdl2 impor _WindowSDL2Storage

[KRITIS] [Aplikasi] Tidak bisa mendapatkan Jendela, batalkan.

````

Itu bahkan tidak berfungsi jika saya cd langsung ke direktori di sebelah SDL2.dll sebelum menjalankan python3

Baiklah, ada beberapa hal yang berperan di sini:

  1. .dll harus ada di direktori itu
  2. file ...\site-packages\kivy\deps\sdl2\__init__.py dimuat dan menunjuk ke .dll
  3. Windows (atau perangkat lunak lain yang mengganggu seperti beberapa pemindai virus) sendiri tidak memblokir pemuatannya

Sejauh ini saya tidak dapat mereproduksinya, tetapi 3. adalah sesuatu yang tidak dapat dikecualikan.

Hal lain yang dapat Anda coba: buka command prompt dan arahkan PATH langsung ke folder sdl2. Sesuatu seperti:

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

@dolang Nah, sepertinya menambahkan folder SDL2.dll ke %PATH% memperbaiki.... bagian dari kesalahan itu. img_sdl2 sekarang tidak lagi "diabaikan", tetapi masih "Tidak dapat menemukan penyedia Window yang berharga". Itu juga memberikan beberapa pesan kesalahan yang sedikit berbeda (hampir secara eksklusif diperluas?)

[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

Saya mengkonfirmasi dengan berulang kali menambahkan dan menghapus itu dari PATH bahwa keberadaan img_sdl2 di bagian "diabaikan" tergantung pada itu, dan bahwa teks kesalahan yang diperluas muncul atau menghilang tergantung pada apakah itu dapat menemukan SDL2 atau tidak.

Sekarang, ketergantungan glew harus memiliki folder tepat di sebelahnya ( share\glew\bin ). Apa yang terjadi jika Anda menambahkannya juga?

Ah!

Jadi, di Windows, itu bisa "dipecahkan" dengan menambahkan %AppData%\Python\share\glew\bin;%AppData%\Python\share\sdl2\bin; ke 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^""

Tapi sayangnya ini bukan solusi per se

BAGAIMANA pip-installed-python-libraries seharusnya masuk ke PATH yang harus mereka gunakan untuk berfungsi? (Reboot tidak cukup)

Itu hanya petunjuk bagi saya untuk mengetahui apakah perpustakaan benar-benar diblokir atau tidak. Untung mereka tidak.

Seperti yang dikatakan di atas (poin 2.), Anda dapat melihat bahwa jika Anda membuka __init__.py di site-packages\kivy\deps\... , tetapi itu seharusnya berhasil. Sekarang saya perlu menemukan cara untuk memecahkan milik saya persis seperti dalam kasus Anda. :senyum:

Apakah ini ada gunanya?

````

impor pdb
pdb.run()
Interupsi Keyboard
domba
Interupsi Keyboard
pdb.run("dari kivy.core.window._window_sdl2 impor _WindowSDL2Storage")
(1)()
(Pdb) s
--Panggilan--
(966)_find_and_load()
(Pdb)
(968)_find_and_load()
(Pdb)
--Panggilan--
(143)__init__()
(Pdb)
(144)__init__()
(Pdb)
(145)__init__()
(Pdb)
--Kembali--
(145)__init__()->Tidak ada
(Pdb)
--Panggilan--
(147)__masuk__()
(Pdb)
(148)__masuk__()
(Pdb)
--Panggilan--
(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)
Kesalahan Kunci: '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)
--Panggilan--
(58)__init__()
(Pdb)
(59)__init__()
(Pdb)
(60)__init__()
(Pdb)
(61)__init__()
(Pdb)
(62)__init__()
(Pdb)
(63)__init__()
(Pdb)
(64)__init__()
(Pdb)
--Kembali--
(64)__init__()->Tidak ada
(Pdb)
(176)_get_module_lock()
(Pdb)
(187)_get_module_lock()
(Pdb)
(189)_get_module_lock()
(Pdb)
(191)_get_module_lock()
(Pdb)
--Kembali--
(191)_get_module_lock()->_ModuleLock('... 1869402554208
(Pdb)
(149)__masuk__()
(Pdb)
--Panggilan--
(78)memperoleh()
(Pdb)
(84)memperoleh()
(Pdb)
(85)memperoleh()
(Pdb)
(86)memperoleh()
(Pdb)
(87)memperoleh()
(Pdb)
(88)memperoleh()
(Pdb)
(89)memperoleh()
(Pdb)
(90)memperoleh()
(Pdb)
(91) memperoleh()
(Pdb)
(92)memperoleh()
(Pdb)
(101) memperoleh()
(Pdb)
Kesalahan Kunci: 12616
(101) memperoleh()
(Pdb)
--Kembali--
(101) memperoleh()->Tidak ada
(Pdb)
Kesalahan Kunci: 12616
(149)__masuk__()
(Pdb)
--Kembali--
(149)__masuk__()->Tidak ada
(Pdb)
Kesalahan Kunci: 12616
(968)_find_and_load()
(Pdb)
--Kembali--
(968)_find_and_load()->Tidak ada
(Pdb)
Kesalahan Kunci: 12616
(1)()
(Pdb)
--Kembali--
(1)()->Tidak ada
(Pdb)
Kesalahan Kunci: 12616
c:\program filespython36\lib\bdb.py(434)run()
-> exec(cmd, global, lokal)
(Pdb)
c:\program filespython36\lib\bdb.py(435)run()
-> kecuali BdbQuit:
(Pdb)
c:\program filespython36\lib\bdb.py(438)run()
-> self.quitting = Benar
(Pdb)
Traceback (panggilan terakhir terakhir):
berkas "", baris 1, di
File "C:\Program Files\Python36\lib\pdb.py", baris 1572, sedang dijalankan
Pdb().run(pernyataan, global, lokal)
File "C:\Program Files\Python36\lib\bdb.py", baris 434, sedang dijalankan
exec (cmd, global, lokal)
berkas "", baris 1, di
berkas "", baris 968, di _find_and_load
berkas "", baris 149, di __enter__
berkas "", baris 101, di akuisisi
Kesalahan Kunci: 12616
````

Sehat,

beberapa pengujian lebih lanjut mengungkapkan bahwa itu berfungsi dengan benar jika KEDUA kivy.deps.glew DAN kivy.deps.sdl2 diinstal dalam mode Administrator.

Saya pikir masalahnya terletak pada terlalu banyak hardcode menjadi site-packages\kivy\deps\*\__init__.py

Saya ingin tahu apakah ada cara yang lebih kanonik untuk menambahkan DLL dari paket Pip ke dalam PATH ...?

Pertanyaan bagus, tapi saya tidak tahu bagaimana tim sampai pada solusi mereka saat ini. Setidaknya kita bisa mempersempitnya sekarang, jadi itu langkah maju.

Omong-omong, apakah Anda akrab dengan virtualenv . Saya biasanya menggunakan itu dan jarang memiliki masalah. Jadi untuk saat ini yang bisa Anda lakukan (admin):

py -m pip install virtualenv

Akun pengguna normal ( .venv adalah nama pilihan saya dari direktori virtualenv, ubah sesuka Anda):

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

opsional tambahkan: python -m pip install kivy.deps.gstreamer

Semoga saya mengerti.

Konfigurasi 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).

Saya punya masalah yang sama dan saya menyelesaikannya dan solusi saya tidak bagus. Saya menyalin semua dll (share/sdl2 share/angle share/glew share/gstreamer) di repositori dan saya menambahkan repositori ini ke variabel path.

Saya menginstal kivy menggunakan hak admin (https://kivy.org/docs/installation/installation-windows.html) dan saya mencoba menjalankan menggunakan hak pengguna (user laurent ) kemudian terjadi kesalahan: [KRITIS] [Window] Tidak dapat menemukan penyedia Window yang berharga.
sdl2 - ImportError: Beban DLL gagal: Modul yang ditentukan tidak dapat ditemukan.

Menyalin semua dll di folder baru memecahkan masalah. Pertanyaan saya kemudian Bagaimana saya bisa menginstal kivy untuk menjalankan kivy dengan hak istimewa pengguna?

PS maaf saya tidak pandai bahasa Inggris dan python

Omong-omong, apakah Anda akrab dengan virtualenv . Saya biasanya menggunakan itu dan jarang memiliki masalah. Jadi untuk saat ini yang bisa Anda lakukan (admin):

py -m pip install virtualenv

Akun pengguna normal ( .venv adalah nama pilihan saya dari direktori virtualenv, ubah sesuka Anda):

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

Saya mencoba menggunakan virtualenv dan tidak berhasil. Saya masih mendapatkan kesalahan serupa. Saya juga menambahkan C:\Program Files\Python37\share\sdl2\bin dan C:\Program Files\Python37\share\angle\bin ke PATH saya. Dan saya melakukan apa yang menurut saya dilakukan oleh @LaurentBerger , salin kedua file itu ke direktori lain, lalu tambahkan direktori itu ke path. Menggunakan virtualenv dengan dua opsi PATH juga tidak berfungsi untuk saya.

Saya menggunakan python 3.7 jadi saya menginstal kivy.deps.angle bukannya kivy.deps.glew

Log:
```(venv) C:\Users\henry\Documents\Side Projects\fps>py main.py
[INFO ] [Logger ] Rekam log di 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 Juni 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
[INFO ] [Pabrik] 194 simbol dimuat
[INFO ] [Gambar ] Penyedia: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer diabaikan)
[INFO ] [Teks ] Penyedia: sdl2
[INFO ] [Jendela ] Penyedia: sdl2
[KRITIS] [Window ] Tidak dapat menemukan penyedia Window yang berharga.
sdl2 - ImportError: Beban DLL gagal: Modul yang ditentukan tidak dapat ditemukan.
File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core__init__.py", baris 67, di core_select_lib
cls = cls()
File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", baris 140, di __init__
super(WindowSDL, mandiri).__init__()
File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window__init__.py", baris 968, di __init__
self.create_window()
File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\site-packages\kivy\core\window\window_sdl2.py", baris 272, di create_window
self.fullscreen, resizable, state)
File "kivy\core\window_window_sdl2.pyx", baris 125, di kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
File "kivy\graphics\cgl.pyx", baris 52, di kivy.graphics.cgl.cgl_get_backend_name
File "kivy\graphics\cgl.pyx", baris 60, di kivy.graphics.cgl.cgl_get_backend_name
File "C:\Users\henry\DOCUME~1\SIDEPR~1\fps\venv\lib\importlib__init__.py", baris 127, di import_module
kembalikan _bootstrap._gcd_import(nama[level:], paket, level)
berkas "", baris 1006, di _gcd_import
berkas "", baris 983, di _find_and_load
berkas "", baris 967, di _find_and_load_unlocked
berkas "", baris 670, di _load_unlocked
berkas "", baris 583, di module_from_spec
berkas "", baris 1043, di create_module
berkas "", baris 219, di _call_with_frames_removed

[KRITIS] [Aplikasi] Tidak bisa mendapatkan Jendela, batalkan.
```

Pada masalah ini, saya telah melihat arsitektur pencampuran perpustakaan (Python dalam 64 bit, SDL2 dalam 32 bit), jadi itu pemberhentian pertama. Dan ya, jika Anda mencampur lengkungan, perpustakaan tidak akan digunakan sama sekali dan Kivy tidak akan berfungsi.
Instalasi SDL2 melalui kivy.deps.sdl2 akan berhasil.

Saya menggunakan python 3.7 dan saya mendapatkan kesalahan ini. versi kivy adalah 1.10.1
bagaimana saya harus menyelesaikannya?

sama di sini python 3.7 , versi kivy adalah 1.10.1 dan mencoba semua cara untuk memuat DLL tetapi tidak menunjukkan belas kasihan.

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

Ini Memecahkan Masalah Saya Yang Sama dengan yang Anda Hadapi
Semoga ini bisa membantu Anda

Saya memiliki masalah yang sama. Video ini dapat membantu mereka yang visual! https://youtu.be/gt-qndBYrCQ

Punya banyak masalah, tetapi berhasil menyelesaikannya. Inilah yang saya pelajari (menggunakan PyCharm):
1) Anda tidak dapat menginstal Kivy di Python 3.8. Jika Anda memiliki 3,8, kembali ke 3,7.
2) Saya menginstal semua paket yang gambarnya diposting orang lain. Saya akan memposting milik saya di sini. Buka penerjemah proyek Anda dan tekan tombol "+" untuk menambahkan semuanya. Mereka harus berhasil menginstal.
pkg1
pkg2
3) Sedang mendapatkan kesalahan sdl2 jendela. Menonton video singkat ini (https://www.youtube.com/watch?v=e_jv8KsYBrs&t=212s) (semoga Tuhan memberkati orang ini) dan mengubah jalur saya di lingkungan sistem saya.
4) Saya kemudian menginstal ulang dependensi dari situs web Kivy -- DAN ITU BEKERJA!!!

Semoga ini bisa membantu seseorang !!!!

Omong-omong, apakah Anda akrab dengan virtualenv . Saya biasanya menggunakan itu dan jarang memiliki masalah. Jadi untuk saat ini yang bisa Anda lakukan (admin):

py -m pip install virtualenv

Akun pengguna normal ( .venv adalah nama pilihan saya dari direktori virtualenv, ubah sesuka Anda):

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

Saya mencoba menggunakan virtualenv dan tidak berhasil. Saya masih mendapatkan kesalahan serupa. Saya juga menambahkan C:\Program Files\Python37\share\sdl2\bin dan C:\Program Files\Python37\share\angle\bin ke PATH saya. Dan saya melakukan apa yang menurut saya dilakukan oleh @LaurentBerger , salin kedua file itu ke direktori lain, lalu tambahkan direktori itu ke path. Menggunakan virtualenv dengan dua opsi PATH juga tidak berfungsi untuk saya.

Saya menggunakan python 3.7 jadi saya menginstal kivy.deps.angle bukannya kivy.deps.glew

Log:

[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.

Coba salin folder glew,sdl2 dan __init__.py secara manual dari ../site-packages/kivy_deps ke ../site-packages/kivy/deps.
Itu berhasil untuk saya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat