You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CustomTkinter虚拟白板PyInstaller打包后CTkColorPicker失效求助

CTkColorPicker打包为EXE后失效的解决方案

问题原因

CTkColorPicker作为CustomTkinter的扩展库,PyInstaller默认打包时无法自动识别其完整依赖结构,导致生成的EXE运行时无法加载颜色选择器组件。

解决步骤

方法1:直接用--hidden-import参数打包

在命令行执行打包命令时,显式指定CTkColorPicker为隐藏导入:

pyinstaller --onefile --hidden-import=CTkColorPicker your_script_name.py

方法2:通过.spec文件手动配置

如果方法1无效,可生成并修改.spec文件来完善打包配置:

  1. 生成.spec文件:
pyinstaller --name Lavagna your_script_name.py
  1. 打开生成的Lavagna.spec文件,在Analysis部分的hiddenimports列表中添加CTkColorPicker:
a = Analysis(
    ['your_script_name.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=['CTkColorPicker'],  # 添加该行
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=None,
    noarchive=False,
)
  1. 用修改后的.spec文件重新打包:
pyinstaller Lavagna.spec

方法3:更新依赖并检查资源文件

  • 先确保所有相关库都是最新版本:
pip install --upgrade customtkinter CTkColorPicker pyinstaller
  • 如果CTkColorPicker包含额外资源文件(如UI布局、图标等),需要在.spec文件的datas参数中添加这些资源的路径。找到CTkColorPicker的安装目录(一般在Lib/site-packages/CTkColorPicker下),将整个目录添加到datas:
datas=[(r'C:\Python\Lib\site-packages\CTkColorPicker', 'CTkColorPicker')],

路径请替换为你本地的实际安装路径。

代码中相关逻辑确认

你的colore_sfondo函数调用CTkColorPicker的逻辑是正确的,打包问题解决后即可正常运行:

def colore_sfondo():
    global colore_sfondo_gomma
    pick_color = AskColor(title="Scegli colore dello sfondo", button_color="#28303e", bg_color="#14181f", fg_color="#14181f")
    colore_sfondo_gomma = pick_color.get()
    canvas.configure(background=colore_sfondo_gomma)

内容的提问来源于stack exchange,提问作者Golden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 19:40:53