tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:

问了好几个GPT 回答的都不是解决问题的,胡编乱造的

目前经过尝试好几个解决方案,终于破案了

win10系统 使用安装python时自动将tcl和tk 识别到了新创建的虚拟环境继承中
win11系统 则需要手动去做一些操作,才可以解决问题
我这报错的问题是这样的
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)

Traceback (most recent call last):
  File "D:\workspacePython\test.py", line 6, in <module>
    tkinter._test()  # 若弹出 Tk 窗口,则说明安装正常
    ~~~~~~~~~~~~~^^
  File "C:\Users\hdlbg\AppData\Local\Programs\Python\Python313\Lib\tkinter\__init__.py", line 4954, in _test
    root = Tk()
  File "C:\Users\hdlbg\AppData\Local\Programs\Python\Python313\Lib\tkinter\__init__.py", line 2456, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    D:/workspacePython/venv/lib/tcl8.6 D:/workspacePython/venv/lib/tcl8.6 D:/workspacePython/lib/tcl8.6 D:/workspacePython/venv/library D:/workspacePython/library D:/workspacePython/tcl8.6.13/library D:/tcl8.6.13/library



This probably means that Tcl wasn't installed properly.

tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:_第1张图片

解决方式有两种

第一种方式:在导入tcl和tk之前需要先用os模块指定这两个文件
import tkinter
import os
# 去python安装目录
os.environ["TCL_LIBRARY"] = r"C:\Users\你的用户文件名\AppData\Local\Programs\Python\Python313\tcl\tcl8.6"
os.environ["TK_LIBRARY"] = r"C:\Users\你的用户文件名\AppData\Local\Programs\Python\Python313\tcl\tk8.6"

tkinter._test() 

再次启动程序:运行成功
tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:_第2张图片

第二种方式:找到安装python目录,把这两个目录复制到你项目创建的虚拟目录lib目录下

tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:_第3张图片
复制到我的工作虚拟目录下
tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:_第4张图片
再次运行程序,不需要手动指定os了
tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:_第5张图片

你可能感兴趣的:(java,数据库,python)