股票

ImportError: No module named Tkinter

使用 pyinstallerpython 程序进行打包,由于包含 matplotlib 库,最终在生成 exe 后,程序执行的时候会出现错误:
ImportError: No module named Tkinter

使用 pip list 查询,发现确实没有 Tkinter 这个库,但是在安装目录下,明显有 tcl 这个文件夹。在命令行中进行测试:

ImportError: No module named Tkinter

完全正常!!!

然后,我就开始了痛苦的整改过程:

1,重新安装 Tkinter

使用命令行 pip install Tkinter 发现没有这个库,安装失败。

下载 tk8.4.4-src.tar.gz 和 tcl8.4.4-src-tar.gz ,解压后发现在win10 下无法使用 ./configure配置,安装失败。

安装这步行不通,换。

2,检测 Tkinter 安装正确性与用法正确性。

测试 Tkinter._test(),执行正常。

python 版本为2.7,导入时应该使用 import Tkinter,检查所有导入文件,正常。

修改环境变量,添加 TCL_LIBRARY=C:\Python27\tcl\tcl8.5 和 TK_LIBRARY=C:\Python27\tcl\tk8.5,检查修改状态,正常。

以上,但重新编译 exe 文件,错误依然在。

最后,终于找到症结所在:

pyinstaller 很傻逼,不会自动识别 matplotlib 内部引用的 Tkinter 库,必须在工程文件中显性的 import Tkinter 才行!

参考文章:No module named Tkinter

解决方法就简单了,在工程中引用 Tkinter ,注意大小写,再编译,终于成功了.

 

打赏
原文链接:,转发请注明来源!

发表评论