Technically you can just use Windows Notepad to write your Python code. But what’s all the hype about IDEs? What is IDE and what are Advanced Notepads. Which one is superior?
Let’s dig in the terminology before we compare different solutions.
IDE: Integrated Development Environment, offers advanced solutions that make coding easier and more efficient. These features can be, coding insight which suggests completion for your code before you finished typing, advanced debugging solutions can make debugging much easier, text highlights can make your code easy to read and interpret and integrated modules can offer a more complete development environment.
Advanced Notepads: These are text editors where you can write your Python codes. Some advanced notepads such as Notepad++ will allow you to install plugins (i.e.: Python Script Plugin, JSToolNPP Plug-in or Auto Indent) which will make coding on a text editor more convenient for you. Although text editors provide a clean sheet experience, they often lack lots of features that comes with popular IDEs such as Open Source Spyder or PyCharm.
1) ANACONDA DISTRIBUTION
Anaconda Distribution is an incredibly practical Python Installer available for Windows, Linux and MacOS
What’s so good about Anaconda is that it includes so many Python related packages and it makes installing everything a breeze. Some of the most common packages that you might need are:
not to mention, Python itself.
We have a detailed Python Setup Guide where you can learn about how to install Anaconda step by step here.
Python 3.7 Versions
Once you finished installing Anaconda you can write your codes in a number of ways:
1) Spyder (Anaconda’s IDE)
2) Jupyter (Browser based practical IDE)
3) Anaconda Prompt Command Windows (Type Python to enter Python)
PyCharm is a very popular Python IDE. It has features like:
code completion & advanced debugger.
It has a free (Community) version and a paid (Professional) version.
If you don’t need HTML, JS and SQL support, free version will definitely do. And if you are a beginner or intermediate Python coder, or even if you have advanced coding skills but you don’t need those features you will be fine with the free Community version.
Atom is another nice and free open-source option. It’s highly customizable and extendable however there are many user reports of it slowing down during usage.
One major benefit of using Atom is its integration with Github on the go.
Here is a link to their download page if you’d like to check it out.
4) JUPYTER NOTEBOOK
Jupyter Notebook is an amazing browser based Ipython notebook. It can run code line by line and it can be convenient to run at the comfort of your browser. It is very popular for education purposes and data science and analysis.
Running your code line by line gives you lots of flexibility during a progressive data exploration or plotting. It can be said that Jupyter and Spyder complete each other as development environments and during the initial phases of coding studies, luckily they both come with Anaconda, they’re both free and very convenient.
Spyder is a magnificent starting option for coders. It comes free with Anaconda installation and it’s dedicated to Python. It has a very nice and convenient user interface with graph plotting capabilities and a beautiful variable explorer.
Its debugging and auto-completion features also work very well and if you’re feeling adventurous you can always install the beta version they are working on to have a chance to work with the new features ahead of the public distribution.
Sublime is another popular option for coding. It’s pretty light and fast so it offers a great option for editing code on the fly.
However, it’s more of a text editor and not a full IDE and if you’d like to run your code inside the same software it can be an issue. Sublime Text also isn’t free and retails for something like $70-$80 last time we checked. You can still download it and test it for an unlimited time.
7) VISUAL STUDIO CODE
Spyder is a magnificent starting option for coders. It comes free with Anaconda installation.