Visual Python Debuggers and IDEs—Which One Should You Use?

Real Python · Beginner ·🛠️ AI Tools & Apps ·8y ago

Key Takeaways

The video discusses various visual Python debuggers and IDEs, including PyCharm, Thonny, PyDev, Wing IDE, and Komodo IDE, and their features for debugging Python programs.

Full Transcript

hey guys this seems like a really good time today to answer some Python questions so I got this question about visual debuggers for Python from Charlie see here I just want to read out the question so the question is hi Dan is there a debugger in Python in the Python world that is anything like the debugger in the Visual Basic IDE it seems so simple incrementing through lines of code and examining variable values and so on yes there is so there's a couple of tools that are available that you can use to to achieve that to get visual debugging with Python I'm gonna leave out some of the command line oriented or text mode oriented tools here personally I really enjoy working with PDB and PDB plus plus and I'm also a tool called PU DB those all run in the terminal and it sounds like you're more looking for something that is actually a full-blown GUI application for debugging your Python programs if you can go with the text mode stuff yeah then absolutely read up on p DB p DB + + + p UD b alright so in terms of visual debuggers that operate like the the one in the VBA IDE I would point you towards a couple of IDs and actually there's a really good list here on the Python wiki and this list is just super solid so I'm gonna link that in the description and you can you can check that out my personal preference when it comes to visual debuggers in python would be to use the pycharm ide it's a great product they have a really really solid high performance editor I remember at PyCon Munich like two years ago there was an in-depth sort of talk on how they how they actually managed to speed up the debugger and they're doing some really really interesting things to give you a good experience so this is you know well-maintained really solid and if you're looking for a proper like full-blown IDE I will probably go with pycharm I think it's a really solid product there the bugger is great like that's one of the the main selling points at least in my opinion so the other thing so PyCharm is a paid product the other thing that you could use if you're more a few more on the the entry level and in terms of your Python skills you might want to check out a tool called Thawne II which is a I guess a wordplay on on Python II or something like that and it's it is it is sort of a better version of the idle the idle environment that is just you know your your text mode interpreter for Python and this this thing is is more like an in-between between you know an editor and an IDE but more from a learning perspective and it has a pretty great debugger that again is very much focused on the learning aspect of this and I did a video where I showed off funny in the past so I'm also going to link that for on this video so you can find it probably check it out you know I would just check it out it's a free free product open-source tool and you might have a really good experience with that now there are a couple more IDs that also have built-in visual debuggers there's the pydev plugin i believe that's a plugin for the Eclipse platform I haven't used it in recent years to be honest seems like a pretty good product back in the past I at some point just abandon it and went with pycharm and now I'm actually using sublime text and I'm using you know text mode debuggers for off my all of my debugging needs but you know if you want to if you want a visual debugger at this point is probably pretty mature choice told to at least try out PI diff and and see how you like it there's also the wing IDE and the Komodo IDE and I would probably also just try them out see how much you like them if you want just one product where where I could just support that choice you know make a recommendation I would probably just check out pycharm and see if that does everything to want pretty sure it will so that would be my recommendation alright if you enjoyed this video then hit the like and subscribe buttons and if you want your own Python question answered then just leave a comment below and I'll try and do a future video on that I'm a little bit backed up with questions but just leave a comment I see them all in my YouTube when I log into YouTube and I'll try and tackle there single one of those with videos in the future right take care and happy Python II

Original Description

https://dbader.org/python-tricks ► This is an ongoing experiment: Make your code more Pythonic with short & sweet code examples I got this question about Python debuggers from Charlie C on YouTube: "Is there a debugger in the Python world that is anything like the debugger in the VBA IDE? It seems so simple incrementing through lines of code examining variable values etc." Good news, there are "visual debuggers" or "IDE-style debuggers" for Python you can install and use in your programming workflow. In this video I'm giving you the quick rundown of which tools and IDEs I recommend for this purpose and where to find them. Links from the video: * https://wiki.python.org/moin/IntegratedDevelopmentEnvironments * https://docs.python.org/3/library/pdb.html * https://pypi.python.org/pypi/pdbpp/ * https://pypi.python.org/pypi/pudb * https://www.jetbrains.com/pycharm/ * https://SublimeTextPython.com * http://thonny.org/ (Thonny in action: https://www.youtube.com/watch?v=ez-qYc0NlMk) What's your favorite Python debugger? Leave a comment below and let me know, I'd love to hear what your workflow looks like! FREE COURSE – "5 Thoughts on Mastering Python" https://dbader.org/python-mastery SUBSCRIBE TO THIS CHANNEL: https://dbader.org/youtube * * * ► Python Developer MUGS, T-SHIRTS & MORE: https://nerdlettering.com ► PythonistaCafe – A peer-to-peer learning community for Python developers: https://www.pythonistacafe.com FREE Python Coding Tutorials & News: » Python Tutorials: https://dbader.org » Python News on Twitter: https://twitter.com/@dbader_org » Weekly Tips for Pythonistas: https://dbader.org/newsletter » Subscribe to this channel: https://dbader.org/youtube
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Real Python · Real Python · 0 of 60

← Previous Next →
1 A better Python REPL – bpython vs python interpreter
A better Python REPL – bpython vs python interpreter
Real Python
2 Introducing large-type.com – A Utility Website
Introducing large-type.com – A Utility Website
Real Python
3 Reading Hacker News Without Wasting Tons of Time
Reading Hacker News Without Wasting Tons of Time
Real Python
4 Forward References and Python 3 Type Hints
Forward References and Python 3 Type Hints
Real Python
5 Using Sublime Text as your Git Editor
Using Sublime Text as your Git Editor
Real Python
6 Python Code Linting and Auto-Complete for Sublime Text
Python Code Linting and Auto-Complete for Sublime Text
Real Python
7 Make your Python Code More Readable with Custom Exceptions
Make your Python Code More Readable with Custom Exceptions
Real Python
8 Write Better Tests with Sublime Text's Split Layout Feature
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
9 How to Use Sublime Text from the Command Line
How to Use Sublime Text from the Command Line
Real Python
10 Rename Variables with Multiple Selection in Sublime Text
Rename Variables with Multiple Selection in Sublime Text
Real Python
11 Sublime Text Settings for Writing PEP 8 Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
12 Write Cleaner Python with Sublime Text's Indent Guides
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
13 Sublime Text Whitespace Settings for Python Development
Sublime Text Whitespace Settings for Python Development
Real Python
14 Function Argument Unpacking in Python
Function Argument Unpacking in Python
Real Python
15 Python Code Review: Debugging and Refactoring "Conway's Game of Life" +  Automated Tests
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
16 Using "get()" to Return a Default Value from a Python Dict
Using "get()" to Return a Default Value from a Python Dict
Real Python
17 A Python Shorthand for Swapping Two Variables
A Python Shorthand for Swapping Two Variables
Real Python
18 Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
19 Click & Jump to Test Failures from the Command Line (iTerm2)
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
20 Setting up Sublime Text for Python Developers
Setting up Sublime Text for Python Developers
Real Python
21 Sublime Text + Python Guide Overview
Sublime Text + Python Guide Overview
Real Python
22 Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
23 Type-Checking Python Programs With Type Hints and mypy
Type-Checking Python Programs With Type Hints and mypy
Real Python
24 A Shorthand for Merging Dictionaries in Python 3.5+
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
25 Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
26 My Python Code Looks Ugly and Confusing – Help!
My Python Code Looks Ugly and Confusing – Help!
Real Python
27 Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Real Python
28 Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
29 Programmer Portfolio – Example and Walkthrough
Programmer Portfolio – Example and Walkthrough
Real Python
30 How to Get Your 1st Speaking Gig at a Tech Conference
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
31 How to Build Your Public Speaking Skills as a Developer
How to Build Your Public Speaking Skills as a Developer
Real Python
32 The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
33 Setting up Sublime Text for Python Developers – Lesson #1
Setting up Sublime Text for Python Developers – Lesson #1
Real Python
34 Cool New Features in Python 3.6
Cool New Features in Python 3.6
Real Python
35 "is" vs "==" in Python – What's the Difference? (And When to Use Each)
"is" vs "==" in Python – What's the Difference? (And When to Use Each)
Real Python
36 Emulating switch/case Statements in Python with Dictionaries
Emulating switch/case Statements in Python with Dictionaries
Real Python
37 Python Function Argument Unpacking Tutorial (* and ** Operators)
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
38 What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
39 A Crazy Python Dictionary Expression ?!
A Crazy Python Dictionary Expression ?!
Real Python
40 String Conversion in Python: When to Use __repr__ vs __str__
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
41 Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
42 Optional Arguments in Python With *args and **kwargs
Optional Arguments in Python With *args and **kwargs
Real Python
43 Python Context Managers and the "with" Statement (__enter__ & __exit__)
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
44 Installing Python Packages with pip and virtualenv / venv
Installing Python Packages with pip and virtualenv / venv
Real Python
45 "For Each" Loops in Python with enumerate() and range()
"For Each" Loops in Python with enumerate() and range()
Real Python
46 Python Code Review: LibreOffice Automation and the Python Standard Library
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
47 Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Real Python
48 Python Tutorial: List Comprehensions Step-By-Step
Python Tutorial: List Comprehensions Step-By-Step
Real Python
49 Leveraging Python's Implicit "return None" Statements
Leveraging Python's Implicit "return None" Statements
Real Python
50 What's the meaning of underscores (_ & __) in Python variable names?
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
51 Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
52 Writing automated tests for Python command-line apps and scripts
Writing automated tests for Python command-line apps and scripts
Real Python
53 How to find great Python packages on PyPI, the Python Package Repository
How to find great Python packages on PyPI, the Python Package Repository
Real Python
54 Immutable vs Mutable Objects in Python
Immutable vs Mutable Objects in Python
Real Python
55 PyPI vs Warehouse, the Next-Generation Python Package Repository
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
56 pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
57 My Experience at PyCon 2017 in Portland
My Experience at PyCon 2017 in Portland
Real Python
58 Pylint Tutorial – How to Write Clean Python
Pylint Tutorial – How to Write Clean Python
Real Python
59 "Reverse a List in Python" Tutorial: Three Methods & How-to Demos
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
60 Python Refactoring: "while True" Infinite Loops & The "input" Function
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python

The video discusses various visual Python debuggers and IDEs, including PyCharm, Thonny, and PyDev, and their features for debugging Python programs. It also provides recommendations for choosing a debugger.

Key Takeaways
  1. Choose a visual debugger or IDE
  2. Install and configure the chosen tool
  3. Use the debugger to inspect code and variables
  4. Debug Python programs with the chosen tool
💡 PyCharm is a popular and well-maintained IDE with a solid debugger, while Thonny is a free and open-source tool focused on learning and debugging.

Related AI Lessons

How to Create a Second Version of Yourself Inside Obsidian Using AI (Step-by-Step Guide)
Learn to create a second version of yourself inside Obsidian using AI with a step-by-step guide
Medium · ChatGPT
How to prepare for Spain civil service TIC exam using AI in 2026
Learn how to prepare for the Spain civil service TIC exam using AI in 2026, boosting your chances of success with technology-driven study techniques
Dev.to · David García
Going Viral! How I Created AI Kissing Videos Step by Step Easily Using AIAI.com
Create viral AI kissing videos using AIAI.com in a step-by-step process, leveraging AI technology for creative content creation
Medium · AI
How to prepare TIC teacher exams in Spain with AI (oposiciones 2026)
Prepare for TIC teacher exams in Spain using AI with these actionable steps
Dev.to AI
Up next
Low-Tech, High-Impact: Replacing Your Receptionist With a $15 AI Phone System
Maximum Lawyer
Watch →