在以下目录中找不到可用的init.tcl 这可能意味着Tcl没有正确安装

问题描述 投票:0回答:1

我在尝试运行 Python 代码时遇到此错误:

PS C:\Codes>  & 'C:\Python311\python.exe' 'c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '50412' '--' 'C:\Codes\Python Scripts\py snake.py' 
Could not find platform independent libraries <prefix>
Could not find platform independent libraries <prefix>
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\runpy.py", line 198, in _run_module_as_main
    return _run_code(code, main_globals, None,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\runpy.py", line 88, in _run_code
    exec(code, run_globals)
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>
    cli.main()
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
    run()
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
    runpy.run_path(target, run_name="__main__")
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 321, in run_path
    return _run_module_code(code, init_globals, run_name,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 135, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "c:\Users\Administrator\.vscode\extensions\ms-python.python-2023.14.0\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 124, in _run_code
    exec(code, run_globals)
  File "C:\Codes\Python Scripts\py snake.py", line 131, in <module>
    window = Tk()
             ^^^^
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 2326, 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:
    C:/Users/Administrator/AppData/Local/Programs/Python/Python311/lib/tcl8.6 C:/lib/tcl8.6 C:/lib/tcl8.6 C:/library C:/library C:/tcl8.6.12/library C:/tcl8.6.12/library


This probably means that Tcl wasn't installed properly.

我检查了我的文件管理器,我在

tcl.init
中看到
C:\Users\Administrator\AppData\Local\Programs\Python\Python311\tcl\tix8.4.3
我还再次安装了 tcl,认为这可能是版本(tcl.8.6.11)的问题,并且它位于我的下载文件夹中。我需要将其移动到另一个文件夹吗?什么是正确的文件夹? 我希望能够运行和调试我的 Python 代码。

编辑:JS 代码也有同样的问题。可能所有的编程语言都与 Tcl 相关?

javascript python tcl
1个回答
0
投票

Tkinter 需要在某个地方有(或找到)完整的 Tcl+Tk 安装,而不仅仅是 C 库部分;在脚本中实现了一些“关键”部分。当脚本片段不存在时,事情就会完全如图所示。如果您使用的 Python 构建没有用 Python 编写的位,它也会严重崩溃! Tcl(和 Tk)直到 8.6 版本对此都非常挑剔(除非您执行了一些从未成为 Python 处理此集成方式的一部分的打包步骤)。 注意,失踪的

init.tcl

只是煤矿里的一只金丝雀(也是第一个搜索到的);其他重要的脚本部分可能也丢失了。

此时的选项取决于您是否已经安装但没有找到它,或者根本没有安装。无论哪种方式,您最终都必须说服代码使用您已有的安装或提供它可以使用的安装。您可以通过设置 

TCL_LIBRARY

TK_LIBRARY 环境变量来说服代码使用安装

,但请注意匹配必须准确;由于版本绑定问题,这些环境变量
通常不推荐
(内部测试之外),因为安装通常确切地知道其脚本应该在哪里(错误消息告诉您确切的位置;
C:/Users/Administrator/AppData/Local/Programs/Python/Python311/lib/tcl8.6在您的案件)。 提供安装
 正是它所说的;我不知道如何配置 Python 安装以使用您在备用位置完成的 Tcl 和 Tk 安装的详细信息。
Tix 的

init.tcl
可能不是正确的。这是 Tcl/Tk 包(的一部分),而不是 Tcl 的主要初始化代码。 (该包提供了一些额外的小部件组件,主要由旧代码使用。)

© www.soinside.com 2019 - 2024. All rights reserved.