弃用警告:

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

我正在尝试按照 this 问题的答案尝试复制到剪贴板,但是答案中提供的所有解决方案似乎都让我失望了。在 macOS 上,我已成功使用 pyperclip 和 subprocess.run 复制到剪贴板,如链接帖子中所述,但在 centOS 上都不起作用。我也尝试过在 macOS 上使用 Tkinter,但是当我运行以下简单代码时:

  from tkinter import Tk
  r = Tk()

我收到以下弃用警告:

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.

我真的不想使用已弃用的依赖项构建我的应用程序,但是看到 centOS 不支持 pyperclip 或 subprocess.run 我觉得我没有其他选择。

具体来说,我想知道我的问题是否有好的解决方案,也就是说,我想在 centOS 上复制到剪贴板,理想情况下,我想要一个可以在“大多数”平台上运行的解决方案。请注意,我使用的是 python3。谢谢

python-3.x tkinter centos
3个回答
1
投票

你有2个选择:

  1. 忽略弃用警告: 看到这篇文章Using tkinter with Catalina, how to avoid deprecation warning? helped me a lot.

  2. 升级 Python: 参见官方文档IDLE and tkinter with Tcl/Tk on macOS


0
投票

我无法回答原来的问题,因为它现在已被弃用,但因为它链接到这个问题,我会在这里发布我的解决方案(假设安装了 pyenv):

我在这里按照@Karthik R 的步骤https://stackoverflow.com/a/73930554/6429967 但这并没有解决我的问题。我所做的工作基于以下文章:https://blog.lanzani.nl/2020/install-tkinter-macos/ 扩展了@Karthik R 的解决方案

解决方法(注:将pyenv版本改成自己的版本)

$ brew uninstall tcl-tk
$ pyenv uninstall 3.10.8
$ brew install tcl-tk
$ export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
$ export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
$ export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
$ export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
$ export PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'"
$ 
$ pyenv install 3.10.8
$ pyenv global 3.10.8

# Test the installation
$ python -m tkinter

编辑:此解决方案已在安装了 macOS Ventura 13.1 的基于 Intel 的 iMac 上试用。


0
投票

答案也在这里找到:DEPRECATION WARNING: The system version of Tk is deprecated, M1 Mac in Vs Code - global Python


如果你安装了 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

或者如果您使用的是

bash
终端:

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

家酿

参考

Python 官方

tk
升级文档

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