So I'm trying to debug my C code ran in Python ctypes: gdb: break in shared library loaded by python . However, whenever I run the gdb I get the following error: ModuleNotFoundError: No module named '_tkinter'
. I know there's a lot of questions about this error: matplotlib error - no module named tkinter , and ImportError: No module named 'Tkinter' . I've tried the following:
sudo apt-get install python-tk
and
sudo apt-get install python3-tk
And it works perfectly fine when executing from Ubuntu command line: brandon@DESKTOP-V5LTF5T:~$ python3 MainApp.py
But it does not work when executing from gdb: Why would it work from the terminal but not gdb?
You have installed tkinter
for your python3 installation, but you are running python3-dbg
from GDB. Luckily, the solution is simple: install tkinter for the debugging interpreter ( python3-tk-dbg
):
➜ ~ python3-dbg
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
>>>
➜ ~ sudo apt install python3-tk-dbg
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
python3-tk-dbg
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/509 kB of archives.
After this operation, 1,441 kB of additional disk space will be used.
Selecting previously unselected package python3-tk-dbg:amd64.
(Reading database ... 205251 files and directories currently installed.)
Preparing to unpack .../python3-tk-dbg_3.6.9-1~18.04_amd64.deb ...
Unpacking python3-tk-dbg:amd64 (3.6.9-1~18.04) ...
Setting up python3-tk-dbg:amd64 (3.6.9-1~18.04) ...
➜ ~ python3-dbg
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>>
I face same error.Upgrade Your Python Version.I hope That work for you
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.