Why am I not able to call python Tkinter in MATLAB?

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
MathWorks Support Team 2024년 12월 4일
편집: MathWorks Support Team 2021년 4월 22일

0 개 추천

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개)

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

제품

릴리스

R2020b

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by