6

I've used PyCharm by Jetbrains on Windows/full blown Linux and I like the ability to step through code. However, due to the processor of the Raspberry Pi 3, it doesn't run very quickly. Can anyone recommend a Python IDE for Raspberry Pi 3 so I can debug on the fly (step through the code)? Stepping through the code is the most important element for me.

4 Answers 4

8

There are two more worth looking into:

They are both excellent - and free. Spyder is somewhat more feature-rich than Ninja and, so, a bit heavier (but still much lighter than PyCharm - they are so light, that you can run them on the Pi and get the GUI on your PC - through ssh -Y).
They can even, while running e.g. in your laptop, connect to the Python kernel of another server (e.g. Pi).

I've used them both (I prefer Spyder) and recommend them wholeheartedly.

12
  • just installed spyder, ill let people know how i get on. Thanks Commented Sep 19, 2017 at 20:23
  • 1
    I hope you'll find what you're looking for. And if you do, I'm new here and upvoting,accepting etc would help in building up some rep.points ;)
    – GregStef
    Commented Sep 20, 2017 at 5:23
  • Thanks. i'll upvote once ive tested it out the solutions :-) Do you have any information on connect to the Python kernel of a pi? That could be the solution im looking for.. Commented Sep 20, 2017 at 8:52
  • More like what I'm looking for :-) Any pointers on the Python kernel of another server? Commented Sep 20, 2017 at 20:19
  • 1
    @matt, ssh -X and ssh -Y in a nutshell forward a host's app GUI to a client. In the present context: You use your laptop to ssh -X to a server that has Spyder installed, you type 'spyder' in the terminal and the server's spyder window opens in your laptop's monitor. You can read more in the ssh manual (man ssh)
    – GregStef
    Commented Sep 13, 2018 at 13:33
7

Python's built-in IDLE IDE is far less resource-intensive than PyCharm, but still has a "debugger with persistent breakpoints, stepping, and viewing of global and local namespaces".

To make sure IDLE's installed, run:

sudo apt-get install idle

To open the debugger, click "Debug" in the top menu, then "Debugger". The "Debug Control" window will open, and the IDLE console will say "[DEBUG ON]". Then, any code that runs will go through the debugger, and can be stepped through as expected. A visual guide of what to expect is available here.

IDLE isn't quite as pretty as PyCharm, but you can still step through, monitor local and globals, set breakpoints, and so on. It should also run much more painlessly on the Pi, which is a bonus for productivity.

1
  • Thanks :-) I'm not a fan of the implementation of it but at least i can access it :-) I've also found WingWare that allows me to connect from my PC wingware.com/blog/raspberry-pi Commented Sep 10, 2017 at 19:35
3

Try Thonny.

It's the new Python editor shipped with Stretch. It's fast and lean, and I find it easier to work with than Idle

sudo apt install python3-thonny

More info here

1

You can try Thonny. I have been a user of IDLE, as it takes less resource, but, recently I have switched to Thonny and it's awesome. It has more features and is less resource consuming. It can strike the right balance between user-friendliness and performance (compared to spyder or pycharm).

5
  • bitknol - and @janghou : Thonny is a nice piece of app, but can it connect to a remote kernel (which is the goal of this thread)?
    – GregStef
    Commented Sep 13, 2018 at 13:36
  • Yes, Thonny's debugger has step through features at granular level. A quick view at this link. coursera.org/lecture/python-representation/…
    – bitknol
    Commented Sep 14, 2018 at 17:32
  • You are not answering my question. Can Thonny connect to a REMOTE Python kernel? The goal is to run Thonny from your laptop, have it connect to a Python installation in a server (or another PC) and issue commands (or run a .py file saved in the laptop) that will be executed by the server's Python.
    – GregStef
    Commented Sep 17, 2018 at 6:47
  • @GregStef Go read the original question at the top of the page again. That is NOT the "goal of this thread". Connecting to a remote Python kernel is something you brought up as an aside in your answer, but no one else here has mentioned it, including the original questioner. The "goal of this thread" is stepping, not remote kernels. Commented Jun 16, 2019 at 16:18
  • @Matthew Najmon All due respect, I think your comment is out of time, purpose and point. 1) Remote kernel connection was asked by the OP ("Do you have any information on connect to the Python kernel of a pi? ...") - read the context of his question and the other question he has started. 2) What you interpret as "the goal" has been answered already in my original answer (which the OP accepted). 3) If you are referring to my question to bitknol (if Thonny supports remote kernel), it has little to do with the original OP's problem - that's why I put it as a comment to bitknol's answer. Regards
    – GregStef
    Commented Jun 19, 2019 at 6:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.