弃用警告:Tk 的系统版本已弃用,Vs Code 中的 M1 Mac - 全局 Python [重复]

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

(M1 MBA 2020,MacOS 12.3.1) 因此,在 Vs Code 内部,当我从

Python 3.8.9
选择解释器作为
usr/local/bin Tkinter
时,它会按照我想要的方式运行。

这是运行代码供参考。

当我尝试使用全局

Python 3.8.9
解释器 (
usr/bin/python3
) 时,问题就出现了。当代码运行时,应用程序最终看起来像这样。

此外,当我运行代码时,终端会显示以下内容:

DEPRECATION WARNING: The system version of Tk is deprecated and may be removed in a future release. Please don't rely on it. Set TK_SILENCE_DEPRECATION=1 to suppress this warning.

我怎样才能修复这个错误?或者更新我的全局 Tkinter 版本而不偏离

Python 3.8.9
。此外,如果需要更多信息,我很乐意提供,抱歉,我对这些东西不熟悉😅

应用程序中使用的包: tkinter、枕头、tkmacosx

最后一件事,当我删除所有提及的 Tkmacosx 包时,该应用程序看起来像这样:

python tkinter visual-studio-code
2个回答
14
投票

如果您安装了 Homebrew,您可以使用以下命令更新

tk

brew uninstall tcl-tk --devel
brew install tcl-tk

推荐的选项是

然后您可能需要

export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
添加到您的
.zshrc
文件中:

如果您使用的是

zsh
终端:

用途:

echo "# For tkinter 
export PATH=\"/usr/local/opt/tcl-tk/bin:\$PATH\"" >> ~/.zshrc
source ~/.zshrc

或者如果您使用的是

bash
终端:

echo "# For tkinter 
export PATH=\"/usr/local/opt/tcl-tk/bin:\$PATH\"" >> ~/.bashrc
source ~/.bashrc

如果上述步骤不起作用,您可能需要安装另一个软件包(@goker):

brew install [email protected]

自制

参考

Python官方

tk
升级文档


8
投票

下面弗雷迪的回答https://stackoverflow.com/a/72472483/9842697有效。

(此注释是对答案的回应)

我通过 pyenv 安装了 python 3.10.6,通过 homebrew 安装了 pyenv。 (使用--devel卸载不起作用)

  • 使用 homebrew 安装 tcl-tk 并使用 pyenv 重新安装 python 3.10.6,使 python 安装使用 tcl-tk 的 homebrew 版本,并且在此 IDLE 之后工作正常。
% brew install tcl-tk
% pyenv install 3.10.6
% python
>>> import idlelib.idle
© www.soinside.com 2019 - 2024. All rights reserved.