So here is my code:
from tkinter import *
root = Tk()
root.title("Greeting")
Label(root, text = "Hello World").pack()
root.mainloop()
but the only thing that shows up on the window after running it is a black screen
So here is my code:
from tkinter import *
root = Tk()
root.title("Greeting")
Label(root, text = "Hello World").pack()
root.mainloop()
but the only thing that shows up on the window after running it is a black screen
Had the same issue with Python 3.8 and Mac os Monterey; I've followed these steps to fix the issue:
My issue was fixed.
After much digging, I've found a solution (with some caveats) -
you'll need both homebrew
and pyenv
installed for this to work. The idea is to replace your old deprecated tkinter installation with an up-to-date one that actually works* (and leaves your Mac's system Python alone!)
Note that this will wipe out any packages you’ve installed with
pip
- back those up first! There is a plugin available for pyenv called pyenv pip-migrate that will make this easier.
Run the following commands
brew uninstall tcl-tk
uninstall the old tk if you have it
pyenv uninstall 3.10.5
...or whatever your current global Python version is
brew install tcl-tk
grab a fresh install of tk
pyenv install 3.10.5
grab a fresh install of Python 3.10.5 (or whichever)
pyenv global 3.10.5
set your global Python version (matching the version you just installed above)
You need to install tk via homebrew
before installing Python with pyenv
because pyenv
will automatically try to use whatever tk package it can find when it installs Python.
This will also work if you are using pyenv
to upgrade from one version of Python to another.
Final Thoughts
If you don't already have homebrew
installed, here are good instructions
If you don't have pyenv
, just run brew install pyenv
You’ll probably need to select your preferred Python interpreter in VSCode again
*This worked for me - YMMV
Had a similar issue when updating to Mac OS Sonoma, my apps using tkinter and customtkinter stopped working and only showed this blank window. In my case it was solved by :
Running on M3 pro with macOS Sonoma version 14.5.
My issue was that I was running an outdated version of Python as the VS Code interpreter.
Simply download the latest version of Python, then update your interpreter version in Python by clicking the current interpreter version in the bottom right of the VS Code window:
Install/activate and import all globally installed packages in a new virtual environment by running the command:
pip install virtualenv
virtualenv venv --system-site-packages
source venv/bin/activate
© 2022 - 2024 — McMap. All rights reserved.
python-tk
andpython 3.10
following this answer https://mcmap.net/q/713805/-modulenotfounderror-no-module-named-39-_tkinter-39-on-macos-duplicate. – Estabrook