I am trying to following the answer to this question in an attempt to copy to clipboard however all solutions provided in the answer seem to have failed me. On macOS, I have successfully used pyperclip and subprocess.run to copy to clipboard as described in the linked post, however on centOS neither works. I have also tried using Tkinter on macOS however when I run the following simple code:
from tkinter import Tk
r = Tk()
I get the following deprecation warning:
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.
I don’t really want to build my application with deprecated dependencies however seeing that centOS doesn’t support pyperclip or subprocess.run I feel like I have no other options.
Specifically I would like to know if there exists a good solution to my problem, that is, I want to copy to clipboard on centOS and ideally, I want a solution that will work on “most” platforms. Please note that I am using python3. Thanks
3
Answers
You have 2 options:
Ignore the DEPRECATION WARNING:
See this post Using tkinter with Catalina, how to avoid deprecation warning? helped me a lot.
Upgrade Python:
See the official documentation IDLE and tkinter with Tcl/Tk on macOS
I can’t answer on the original question, because it is deprecated now, but because it is linking to this question, I will post my solution here (which assumes pyenv is installed):
I followed the steps of @Karthik R here https://stackoverflow.com/a/73930554/6429967 but this didn’t solve my problem. What I did and worked was based on the following article: https://blog.lanzani.nl/2020/install-tkinter-macos/ which expands @Karthik R’s solution approach
Solution (Note: change the pyenv version to your version)
EDIT: this solution was tried out on an Intel-based iMac with macOS Ventura 13.1 installed.
Answer also found here: DEPRECATION WARNING: The system version of Tk is deprecated, M1 Mac in Vs Code – global Python
If you have Homebrew installed, you can update
tk
with:Which is the recommended option
Then you may need to add
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
to your.zshrc
file:If you are using a
zsh
terminal:Use:
Or if you are using a
bash
terminal: