pyinstaller kivy 错误无法获取任何图像提供程序,中止
Posted
技术标签:
【中文标题】pyinstaller kivy 错误无法获取任何图像提供程序,中止【英文标题】:pyinstaller kivy error Unable to get any Image provider, abort 【发布时间】:2021-12-12 15:58:14 【问题描述】:嗨,我用 pyinstaller
在virtualenv
kivy python
我的程序在控制台中使用命令python cipol.py
运行成功,没有错误
但是当使用命令 pyinstaller cipol.spec
使用 pyinstaller 创建 exe 时
它会返回
[INFO] [Factory] 已加载 186 个符号
[INFO] [Image] 提供者:(img_tex、img_dds、img_ffpyplayer、img_pil、img_sdl2 被忽略)
[CRITICAL] [App] 无法获取任何图像提供程序,中止。
这是我的规范文件:
# -*- 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 文件夹。 exe 文件将位于该 dist 文件夹中。
【讨论】:
试过这个但返回上一个错误没有解决错误以上是关于pyinstaller kivy 错误无法获取任何图像提供程序,中止的主要内容,如果未能解决你的问题,请参考以下文章
SDL2 错误:使用 pyinstaller 冻结 kivy 应用程序时“无法加载图像 <default.png>”
Pyinstaller 难以通过 Kivy 构建 FileChooserListView
如何从我的 kivy 应用程序(Pyinstaller)获取 Windows 可执行文件?