Spyder debugging doesn't work on Windows with Spyder standalone version and Tkinter graphics backend
See original GitHub issueDescription
What steps will reproduce the problem?
After Pressing Ctrl+F5 to start debugging, the following line appears in the console: !continue But nothing happens. The console appears frozen and has to be restarted.
Versions
- Spyder version: 5.3.2 (standalone)
- Python version: 3.8.10 64-bit
- Qt version: 5.15.2
- PyQt5 version: 5.15.7
- Operating System: Windows 10
Dependencies
# Mandatory:
atomicwrites >=1.2.0 : 1.4.1 (OK)
chardet >=2.0.0 : 5.0.0 (OK)
cloudpickle >=0.5.0 : 2.1.0 (OK)
cookiecutter >=1.6.0 : 2.1.1 (OK)
diff_match_patch >=20181111 : 20200713 (OK)
intervaltree : None (OK)
IPython >=7.31.1;<8.0.0 : 7.34.0 (OK)
jedi >=0.17.2;<0.19.0 : 0.18.1 (OK)
jellyfish >=0.7 : 0.9.0 (OK)
jsonschema >=3.2.0 : 4.7.2 (OK)
keyring >=17.0.0 : 23.6.0 (OK)
nbconvert >=4.0 : 6.5.0 (OK)
numpydoc >=0.6.0 : 1.4.0 (OK)
paramiko >=2.4.0 : 2.11.0 (OK)
parso >=0.7.0;<0.9.0 : 0.8.3 (OK)
pexpect >=4.4.0 : 4.8.0 (OK)
pickleshare >=0.4 : 0.7.5 (OK)
psutil >=5.3 : 5.9.1 (OK)
pygments >=2.0 : 2.12.0 (OK)
pylint >=2.5.0;<3.0 : 2.14.4 (OK)
pyls_spyder >=0.4.0 : 0.4.0 (OK)
pylsp >=1.5.0;<1.6.0 : 1.5.0 (OK)
pylsp_black >=1.2.0 : 1.2.1 (OK)
qdarkstyle >=3.0.2;<3.1.0 : 3.0.3 (OK)
qstylizer >=0.1.10 : 0.2.1 (OK)
qtawesome >=1.0.2 : 1.1.1 (OK)
qtconsole >=5.3.0;<5.4.0 : 5.3.1 (OK)
qtpy >=2.1.0 : 2.1.0 (OK)
rtree >=0.9.7 : 1.0.0 (OK)
setuptools >=49.6.0 : 63.1.0 (OK)
sphinx >=0.6.6 : 5.0.2 (OK)
spyder_kernels >=2.3.2;<2.4.0 : 2.3.2 (OK)
textdistance >=4.2.0 : 4.3.0 (OK)
three_merge >=0.1.1 : 0.1.1 (OK)
watchdog : 2.1.9 (OK)
zmq >=22.1.0 : 23.2.0 (OK)
# Optional:
cython >=0.21 : 0.29.30 (OK)
matplotlib >=3.0.0 : 3.5.2 (OK)
numpy >=1.7 : 1.22.4 (OK)
pandas >=1.1.1 : 1.4.3 (OK)
scipy >=0.17.0 : 1.8.1 (OK)
sympy >=0.7.3 : 1.10.1 (OK)
# Spyder plugins:
spyder_terminal.terminalplugin 1.2.2 : 1.2.2 (OK)
Issue Analytics
- State:
- Created a year ago
- Comments:16 (12 by maintainers)
Top Results From Across the Web
Console blocks when debugging if using the Tkinter graphics ...
Spyder debugging doesn't work on Windows with Spyder standalone version and Tkinter graphics backend #19174.
Read more >Spyder plots non responding with the Tkinter backend
I was using a standalone Python (3.8.3) within Spyder (IPython 7.15.0), but it resolved when I reverted to the conda installation (Python ...
Read more >Python IDEs and Code Editors (Guide)
Find your perfect Python development setup with this review of Python IDEs and code editors, including recommendations and screen shots.
Read more >11 Best Python IDEs for Ubuntu in 2022 - Linux Hint
Comprehensive guide on the best Integrated Development Environments (IDEs) in terms of code editing, debugging, and overall user experience in Python.
Read more >How to build your first Desktop Application in Python - Medium
I hope to change that notion with this simple desktop app tutorial. Lets get going. We will be using PyQt (more on that...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
When looking for an old issue, I found out that this problem was reported before on issue #17523, and we came to the same conclusion: the problem is the Tkinter backend.
So I’m closing this issue in favor of that one.
Just in case, using the Tkinter backend and cliking Enter after entering debug mode causes the IPdb prompt to get stock. If I try to interrupt the kernel I got (on Windows with the Spyder standalone version 5.3.3):
Checked with a conda based installation and seems like this issue doesn’t happen there. As suggested by @impact27 a workaround for this is to change the graphics backend from Tkinter to something else (inline, qt5).