简体   繁体   中英

GDB: ModuleNotFoundError: No module named '_tkinter'

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM