· Jul 29, 2019

Best Python IDE and Code Editors?

Hello All, Can anyone tell me whats the best python IDE and code editors? I am a little bit confused between Eclipse + Pydev,  Pycharm, Sublime Text,  Visual Studio Code, Vim,  GNU/Emacs,  Atom/Atom-IDE, Cloud9. 

Discussion (7)1
Log in or sign up to continue

I am similar to Andrew in that I use PyCharm for my big projects as it helps manage multiple venvs for me.  Which means I don't install all the different packages I am playing with site-wide to avoid issues.  I am typically wrapping my Python into Docker, so this works well, and PyCharm also helps maintain/monitor my requirements.txt file in the venv, which then ensures that when I build the docker, I can pip install -r requirements.txt and know I have everything I need.

I use Notepad++ if all I want to do is a tiny script or just want to look at something I did, as PyCharm can take a while to open, so if I am not really writing code, it isn't worth opening up.

I am not using Jupyter notebooks for my "hacky" stuff and ML, as it makes it easy to have a couple of lines of code and print results.  So, if I am just testing something, or learning some new trick, it is really easy to iterate a line or two of code, or compare outputs, etc.

For me, the best Python IDE I have used to date has been PyCharm.

  • It performs quite well,
  • the integrated debugger is very effective and easy to understand,
  • it neatly handles multiple concurrent versions of Python installations being available and being used in different projects at the same time,
  • the community edition is fully functional enough that you can really get into it and achieve big productivity gains without necessarily forking out any big bucks.
  • Integrated support for PyUnit testing
  • Integrated support for source control (e.g. Git)
  • Integrated Python console
  • it handles Python 2 as well as 3, even doing Python 3 syntax highlighting in Python 2 to get you compatible for upgrading
  • it can have multiple projects open concurrently.
  • On the down-side, it may take a minute or two for it to re-integrate all the symbols etc, from a new or updated Python installation.

For lighter weight project, I like Atom, but the frequency with with lightweight projects get heavy enough to require PyCharm is such that I've ended up just creating a "Hacks" project with multiple sub-projects for all those hacky little Python things I want to try out. PyCharm is great for that too because I can trivially create independent launch setups for every file in a project, even specifying different Python interpreters for each one.

Hi Arjun Kumar,

I don't recommend an IDE for the complete beginner because it automatically completes your half-written word thus not letting you learn them well. Of course, you can disable the autocomplete feature. But, I think a beginner should work close to the metal. And as they developed into intermediate they can use IDE's because usually at that stage simple text editors won't suffice. Long story short, a beginner should use IDLE because it is builtin and it has basic features. But, if you insist for more complete IDE PyCharm is the best.

Features of PyCharm:

  • Intelligent Python editor
  • Graphical debugger and test runner
  • Navigation and Refactorings
  • Code inspections
  • VCS support
  • Scientific tools
  • Web development
  • Python web frameworks
  • Python Profiler
  • Remote development capabilities
  • Database & SQL support

If you still want to know about other Python IDE, Then visit our post.