Python 使用 cx_Freeze 创建 exe 或 msi 时使用 Tkinter tix 时出错

Python Error using Tkinter tix when create exe or msi with cx_Freeze

我正在尝试使用 Python 制作我的脚本的 EXE/MSI,但在我的脚本中我使用了库 tkinter.tix我用它来创建气球工具提示。如果我在 IDLE 下执行脚本运行得很好,但如果我尝试制作 EXE(auto-py-to-exe)或 MSI(cx_Freeze),则会显示错误。

我这样导入模块:

from tkinter.tix import *

我附上图片中的错误。

感谢你能帮助我!!!谢谢...

您还需要将 Python 安装文件夹中的 tix 文件夹复制到分发文件夹中。

下面是使用 cx_Freeze 时的示例 setup.py

from cx_Freeze import setup, Executable

# change to the correct path for the tix folder in your system
include_files = [(r'C:\Python38\tcl\tix8.4.3', r'lib\tkinter\tix8.4.3')]

build_exe_options = {
    'include_files': include_files,
}

bdist_msi_options = {}

setup(
    name='Demo',
    version='0.1',
    options = {
        'build_exe': build_exe_options,
        'bdist_msi': bdist_msi_options,
    },
    executables=[Executable('tix-demo.py', base='Win32GUI')],
)

然后通过执行以下命令构建 MSI:

python3 setup.py bdist_msi