Во-первых, если вы не можете установить Kivy на Python 3.8, вы можете установить его, набрав:
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
python -m pip install kivy_deps.gstreamer==0.1.*
python -m pip install kivy_deps.angle==0.1.*
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew --extra-index-url https://kivy.org/downloads/packages/simple
pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/
Затем, когда вы упакуете приложение Kivy GUI с Pyinstaller, и вы увидите ошибку, связанную с:
Failed to execute script pyi_rth_pkgres
Просто удалите setuptools и установите версию 44.0.0 ( ссылка )
pip uninstall setuptools
pip install setuptools==44.0.0
Также, упаковка немного сложна, потому что это сделано в два шага Официальное руководство по упаковке Kivy с Pyinstaller :
перейдите в каталог примеров Kivy. Для меня это выглядит так:
C: \ Users \ YOUR- WINDOWS -USERNAME \ AppData \ Local \ Programs \ Python \ Python38-32 \ share \ kivy-examples \ demo \ touchtracer
создайте каталог для упакованного приложения и перейдите к нему. Затем в этом каталоге введите:
python -m PyInstaller --name touchtracer C:\Users\YOUR-WINDOWS-USERNAME\AppData\Local\Programs\Python\Python38-32\share\kivy-examples\demo\touchtracer\main.py
Вы увидите, что файл * .spe c создан. Откройте его в текстовом редакторе.
В начале файла, сразу после
#-*- mode: python ; coding: utf-8 -*
Нажмите клавишу ввода и введите
из kivy_deps import sdl2, glew
Убедитесь, что ваш COLLECT будет выглядеть так (добавьте два дерева):
coll = COLLECT(exe, Tree('examples-path\\demo\\touchtracer\\'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
name='touchtracer')
Теперь вернемся к CMD. Создайте приложение, используя отредактированный файл spe c: python -m PyInstaller touchtracer.spe c
Ваш скомпилированный exe-файл будет в
C: \ Пользователи \ YOUR- WINDOWS -USERNAME \ AppData \ Local \ Programs \ Python \ Python38-32 \ share \ kivy-examples \ demo \ touchtracer \ paczka \ dist \ touchtracer
Для целей упаковки Теперь вы можете проверить, работает ли exe на другом компьютере.