问题
最近使用nuitka打包自己写的程序,双击打开,但是numpy+mkl和scipy相关的库报错了,信息如下:
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
E:/学习/code/DAPGUI~2.7NU/out/lib/tcl8.6
{E:/学习/code/dapgui_v0.3.7nui2/out/lib/tcl8.6}
{E:/学习/code/dapgui_v0.3.7nui2/lib/tcl8.6}
{E:/学习/code/dapgui_v0.3.7nui2/out/library}
{E:/学习/code/dapgui_v0.3.7nui2/library}
{E:/学习/code/dapgui_v0.3.7nui2/tcl8.6.9/library}
{E:/学习/code/tcl8.6.9/library}
使用nuitka0.6.84,python3.8.12
解决
查了一些资料,主要是两个方法:
- 新建环境变量
TCL_LIBRARY = python安装目录\tcl\tcl8.5
TK_LIBRARY = python安装目录\tcl\tk8.5
- 把python安装目录下的tcl目录,复制到报错中显示的目录中(daq是我的anaconda环境名称)
F:\Anaconda3\envs\daq\tcl
结果
尝试了两种,发现1没用,2生效了
另外还有一种方法也生效了,但是复制了很多dll,见ImportError: DLL…