编译时不包含Tkinter模块的Pyinstaller

时间:2018-07-14 15:02:29

标签: tkinter pyinstaller

我正在构建一个计划分发的项目。编译的dist文件在我的计算机上可以正常工作,但是当我将其发送给其他人时,它将失败。我在构建中注意到,它不包含“ tkinter”模块,该模块是项目的GUI。我已经尝试了所有可用的选项,-import tkinter --hidden-import=tkinter实际上是所有版本,在多个版本的python上,并同时安装了pip和pip3的pyinstaller。我已经到了世界的尽头:P和tkinter仍然不会包含在构建中。

请加油!

2 个答案:

答案 0 :(得分:0)

我坚信您在处理代码时在cmd中看到了它。就我而言,pyinstaller会自动包含 tkinter ...也就是说,无需单独包含它(顺便说一句:-hidden-import 是”适用于以经典方式定义的模块- import tkinter )。您是否尝试过不带任何选项就简单地运行pyinstaller脚本?

第二个选项: 尝试按照cx_freeze tutorial中的说明使用cx_freeze。它需要更多的编码,但是对您来说可能会更好

答案 1 :(得分:0)

在pyinstaller --onefile filename.py构建的构建过程中,除了Tkinter之外,pyinstaller出现了完全相同的问题。我的pyinstaller .exe文件可以在安装了Python的系统上运行,但是不能在没有安装Python的独立Windows系统上运行。失败并显示以下消息:

__ init ___ tkinter.Tcl中的文件“ Lib \ lib-tk \ Tkinter.py”,行1819:在以下目录中找不到可用的init.tcl:C:/ Users / ADMINI〜1 / AppData / Local /Temp/lib/tcl8.5 E:/lib/tcl8.5 E:/lib/tcl8.5 E:/ library E:/ library E:/tcl8.5.15/library E:/tcl8.5.15/library

我尝试了一些尝试,但是最终成功了: 在.py文件的顶部(我进行了所有导入),我添加了:

导入Tkinter

此添加之后,我仍然看到一条消息,指出在pysintaller构建过程中排除了Tkinter,但是最终的.exe文件在未安装Python的独立计算机上运行。

希望这会有所帮助。我仍然对该错误感到困惑,该错误在5个月前的上次发布中没有发生。