PyCharm: Show local variables after exception in “Run”
Most of the time I spent in PyCharm is executing tests with "Run" (shift-F10).
If the test fails with an exception, then it would be very nice if I could see/inspect the local variables.
Example:
Traceback (most recent call last):
File "/home/x_vums/src/dt/dt/tests/test_foo.py", line 150, in test_quotes_can_miss
lines = list(cutils.read_c(string=t))
File "/home/x_vums/src/dt/dt/utils/cutils.py", line 616, in read_c
coln = [col.strip(quote_char + b' ') for col in splitted]
File "/home/x_vums/src/dt/dt/utils/cutils.py", line 616, in <listcomp>
coln = [col.strip(quote_char + b' ') for col in splitted]
TypeError: must be str, not bytes
In above example I would like to inspect which variable is a string and which is are bytes.
I know how to debug in PyCharm, but "Run" is faster "Debug".
Please sign in to leave a comment.
You must debug the script/test if you want to inspect variables, and it's expected to be slower than run (but not significantly slower, depends on your script). There's no other way I'm afraid.
How to improve the current situation?
It would be great if future PyCharm version have this feature.
You can submit a feature request to implement variable viewer for test runners.
Meanwhile you can use another approach, for example using sys._getframe
This way you can print variables, iterate over them e.t.c.
I created a feature request: https://youtrack.jetbrains.com/issue/PY-37763