No module named 'tkinter'

I can import tkinter from a python command line in a terminal, but when I try to import it in PyCharm I get "ModuleNotFoundError: No module named 'tkinter'." 

When I run `python3 -m tkinter` from the terminal, I get the sample window.

In the terminal I running version 3.6.8.  In PyCharm, the Python version is 3.7.4.   I can't seem to change the interpreter to 3.6.8... or install tkinter for version 3.7.4.

Can someone please give me some help with this?



What's the difficulty with configuring your Python 3.6.8 in PyCharm?


I don't know... I assume I'm doing something wrong, but every time I try, it's still using version 3.7.4.

From my terminal, I typed "which Python3" and it returned "/user/bin/python3" and "python3 --version" returns "Python 3.6.8."

I set up a new virtual environment in PyCharm ("my_venv") and selected "/user/bin/python3" as the Base interpreter. I checked "Inherit global site-packages" and "make available to all projects."  Then I applied it, and restarted PyCharm.

When I go to the terminal in PyCharm and check "python --version" from the (my_venv) prompt it says "Python 3.7.4."

So, something isn't working when I try to set up Python 3.6.8 in PyCharm.  Am I missing something?



That's interesting. You do everything right.

Are there any symlinks for that interpreter?

How does it go if you configure /user/bin/python3 as a System Interpreter in PyCharm?


Thank you for the suggestion, but it's still version 3.7.4.

In my /usr/bin folder I have python3, python3.7 and python3.7m.

Oddly, the "Project Interpreter" shows the Python icon, then "Python 3.7 /usr/bin/python" and no matter what I select, the leading "Python 3.7" never changes. 

Still from my terminal "Python3 --version" shows 3.6.8, but in PyCharm it is always 3.7.4.

I must be missing something simple, but I don't see it.  


Sorry... my day job caught up with me and I haven't had time to revisit this.  I finally tried the suggestions in the recommended post.  I found no aliases or hashes for python or python3.  I attempted to clear them, anyway.  It had no effect.  I am still not able to access tkinter from PyCharm.  It still says "ModuleNotFoundError: No module name 'tkinter'."  

I keep trying to point the interpreter to the correct folder: "/user/bin/python3" but when I check in the PyCharm terminal, it tells me it's using version 3.7.4, instead of version 3.6.8 when I use by Linux terminal.  

Is there somewhere else in PyCharm's settings that is overriding the selected interpreter?  Or, is there some reason it would ignore the path I have selected in the interpreter for the virtual environment?




I had the same problem, I tried using a virtualenv environment based on the /usr/bin/python3.6 (python 3.6.9) behind.I installed python-tk package in Ubuntu and didn't changed a thing.

Out of despair, I created a new environment using Anaconda3 (and python 3.7) and it worked, no tkinter problem anymore.

That's when I realized that I needed to install:

> sudo apt install python3-tk

Then the virtualenv environment worked as well. I would say the problem come from dependencies of the base python binary used in your virtual environment. I suggest you install python3-tk (or the equivalent package for your distribution)

TL;DR: Install the python3-tk package because your base python is python3 (not python) and python-tk and python3-tk are two distinct packages.


The command sudo apt install python3-tk resolved the issue for me as well.


Ok, and what do I do on Windows when I have exactly the same problem? There is no package called "python3-tk" in the PyCharm built-in installer.


The command sudo apt install python3-tk worked for me as well. Thanks.


I had the same problem on Windows (Pycharm). Pycharm wrote that it doesn't know the tkinter module. Helped:
- installing Anaconda,
- creating a new project,
- In the settings of the interpreter I specified "conda environment" and there I wrote the path to the file "conda_.exe".


Please sign in to leave a comment.