在pyinstaller打包后的文件突然遇到以下错误
错误提示:
按照网上的说法root = thinkter.Tk()每次创建新界面运行时,都会生成一个_MEIxxx的临时文件,如果报错:version conflict for package "Tcl": have 8.6.9, need exactly 8.6.12
,即tcl版本不匹配,此时临时的做法便是根据提示的错误目录,找到tcl/tcl8.6/init.tcl,并将package require -excat tcl 8.6.12改为8.6.9。但是这样的话只能运行一次,将打包好的程序关掉重新打开,他还会重新在建一个_MEIxxx的临时文件。
注意
:我的程序每次都会重新建一个_MEI文件,如果你报错提示不是在临时文件中,该方法不一定适用,请试试其他方法。
永久的改法如下:
1、 找到自己的python安装目录,打开终端输入python,在python运行环境下输入:
import sys
print(sys.executable)
输出结果如下:
提示
:如果该目录下没有tcl文件可以试试
import sys
print(sys.path)
这样会输出好多目录,自己都找找看。
2、根据输出目录找到该文件夹下,会有一个tcl和Lib文件:
3、将tcl文件下的tk8.6和tcl8.6复制到Lib文件夹下。
4、复制完成后,重新打开软件即可。
转载:博客园大佬的方法