Why am I not able to call python Tkinter in MATLAB?
5 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2021-4-21
编辑: MathWorks Support Team
2021-4-22
I receive the following error when I run "py.tkinter.Tk()" though I installed the tcl files from activestate.
Error using __init__ (line 2270)
Python Error: TclError: Can't find a usable init.tcl in the following
directories:
C:/Users/sji/AppData/Local/Programs/Python/Python38/lib/tcl8.6
C:/MATLAB/R2021a/bin/lib/tcl8.6 C:/MATLAB/R2021a/lib/tcl8.6
C:/MATLAB/R2021a/bin/library C:/MATLAB/R2021a/library
C:/MATLAB/R2021a/tcl8.6.9/library C:/MATLAB/tcl8.6.9/library
This probably means that Tcl wasn't installed properly.
采纳的回答
MathWorks Support Team
2024-12-4
编辑:MathWorks Support Team
2021-4-22
Looking at the Python source code Modules\_tkinter.c, TCL uses hard coded location of tcl_library_path to find its initialization files which doesn't work when Python is loaded by MATLAB.
Here is an workaround:
>> setenv('TCL_LIBRARY', 'C:\Users\sji\AppData\Local\Programs\Python\Python38\tcl\tcl8.6')
>> setenv('TK_LIBRARY', 'C:\Users\sji\AppData\Local\Programs\Python\Python38\tcl\tk8.6')
>> py.tkinter.Tk
Run these commands every time you run MATLAB. Alternatively, place the commands in a MATLAB startup script.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!