#python #python-3.x #kivy #virtualenv #pyinstaller
Вопрос:
привет, я создаю kivy python
с pyinstaller
в virtualenv
моя программа, запущенная в консоли с командой python cipol.py
, успешно запускается без ошибок, но при создании exe с помощью pyinstaller с помощью команды pyinstaller cipol.spec
он вернется
[ИНФОРМАЦИЯ ] [Завод ] загружено 186 символов
[ИНФОРМАЦИЯ ] [Изображения ] Поставщики: (img_tex, img_dds, img_ffpyplayer, img_pil, img_sdl2 игнорируются)
[КРИТИЧНО] [Приложение ] Не удается получить какого-либо поставщика изображений, прервать.
это мой специальный файл:
# -*- mode: python ; coding: utf-8 -*- from kivy_deps import sdl2, glew import os os.environ['KIVY_IMAGE'] = 'pil,sdl2' from importlib import __import__ block_cipher = None a = Analysis(['C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync\cipol.py'], pathex=['C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync'], binaries=[], datas=[], hiddenimports=['win32file','win32timezone'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) a.datas = [('logo.png','C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync\logo.png','DATA'), ('style.kv', 'C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync\style.kv', 'DATA')] pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, [], exclude_binaries=True, name='cipolsync', debug=True, bootloader_ignore_signals=False, strip=False, upx=True, console=True, icon='C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync\cipol.ico') coll = COLLECT(exe, Tree('C:\Users\user\Desktop\cipol-kivy\exe\venv\Lib\sync\'), a.binaries, a.zipfiles, a.datas, *[Tree(p) for p in (sdl2.dep_bins glew.dep_bins)], strip=False, upx=True, upx_exclude=[], name='cipolsync')
Ответ №1:
Попробуйте использовать эту команду: pyinsaller --onefile cipol.py
. Затем удалите все папки и файл спецификации, но не удаляйте папку dist. Исполняемый файл будет находиться внутри этой папки dist.
Комментарии:
1. попробовал это сделать, но ошибка возврата до не разрешила ошибку