Hello, For what it's worth, I used Emacs with Elpy.
I have python-ipython, python-ipdb, and python-pdbpp installed, and to debug I use put 'breakpoint()' in the code, along the PYTHONBREAKPOINT=ipdb.sset_trace environment variable. As an IPython configuration I have the lines: --8<---------------cut here---------------start------------->8--- ## lines of code to run at IPython startup. c.InteractiveShellApp.exec_lines = ['%autoreload 2'] ## A list of dotted module names of IPython extensions to load. c.InteractiveShellApp.extensions = ['autoreload'] --8<---------------cut here---------------end--------------->8--- Enabled in a ~/.ipython/profile_default/ipython_config.py file. It works decently for me. HTH, Maxim