Programmers spend the lion's share of their time in code editors. In such a situation, the comfort and convenience of the working environment can hardly be overestimated. Of course, you can write code in a simple text editor and save it in .html, but this cannot be compared with an advanced editor. Especially if the editor is language-specific. Since python was and remains the main language used in Data Science, and it is to him that we pay special attention to our courses, we are sharing with you the translation of an article, the author of which writes about editors he knows and what he considers attractive in them.
Author's note: Each editor mentioned in this article is good in its own way. The list is just a quick guide based on my personal experience. You may like some editors more than others. Ultimately, the choice of editor or development environment is yours. There is no wrong or right choice.
1. Python IDLE
IDLE is an editor that comes with Python. This is a basic, lightweight Python programming mode. However, IDLE is a good editor for getting started with programming and understanding the basics of the language. It has a Python wrapper - an interactive interpreter. Its capabilities are extensive: code completion, syntax highlighting, indentation, and a basic built-in debugger.
Pros:
- Light.
- Suitable for beginners.
Minuses:
- Not suitable for complex projects.
- Lacks advanced features.
2. Sublime Text
Sublime Text is free software with broad community support. The editor works with several programming languages. In most cases, unregistered Sublime Text can be used, but from time to time you will receive a pop-up asking you to register your product and purchase a license. Sublime Text is highly customizable and supplemented with packages for debugging, code completion, linting, and more.
Pros:
- Simple and mostly free.
- Finely configurable.
- Compact and efficient.
Minuses:
- For convenience, requires additional packages.
3. Visual Studio Code
Visual Studio Code is a free code editor from Microsoft for Windows, Linux and MacOS. Its features include debugging, syntax highlighting, smart code completion, predefined code snippets, refactoring, and Git integration. Various programming languages are supported. You may need a few additional packages to get started with Python, but installing them is fairly straightforward. The editor is constantly being updated. Visual Studio Code is one of the best editors not only for Python, but also for other programming languages. I use VSC a lot and highly recommend it.
Pros:
- It is a fantastic platform with continuous updates.
- It consumes little memory compared to other bulky development tools.
- Has a built-in terminal and is easy to use.
Minuses:
- , .
4. Jupyter Notebook
Jupyter Notebook is an open source web application that allows you to create documents with interactive code, equations, visualizations, plain text. Of course, such documents are easy to share. Jupyter Notebook is used for data cleansing and transformations, numerical and statistical modeling, data visualization, machine learning, and more. This editor is a good place to get started with data science and machine learning. Files can be shared with anyone and help you work more efficiently with code. I highly recommend Jupyter Notebook as you can work with each block of code separately. It is also possible to use markup. Jupyter Notebook is widely used in many successful companies.
Pros:
- The best platform to get started with data science.
- Easy to share files and visualizations.
- Markup and other advanced features.
Minuses:
- No powerful features from some IDEs.
5. Pyharm
PyCharm is a Python-specific IDE. Developed by Czech [approx. transl. - the author focuses on the location of the head office] by JetBrains. The editor is designed specifically for Python, so it has a wide range of features such as code completion and inspections, bug highlighting, fixes, debugging, version control and refactoring. The IDE is available on Microsoft Windows, Linux and MacOS. There are free and paid professional versions. The professional IDE has a few additional features, but the free version is sufficient for most tasks. I highly recommend PyCharm if you have at least 8GB of RAM.
Pros of IDE:
- Has important built-in functions.
- Designed by professionals specifically for Python.
- Supports Anaconda virtual environments.
Minuses:
- The main problem with PyCharm: if you have an inexpensive PC or laptop and do not have 8 GB of RAM, then the IDE slows down a little and is rather slow.
6. Thonny
Thonny IDE is preinstalled on Linux and Linux systems. My experience with this editor is mostly with the Raspberry Pi. This is a great, simple IDE for beginners. Thonny suits the Raspberry Pi well. Some features: syntax error highlighting, debugger, code completion, step-by-step evaluation of expressions.
Pros:
- Interactive environment.
- Suitable for beginners.
- Can be used for Raspberry Pi projects.
Minuses:
- The editor is prone to problems.
- It doesn't have very many possibilities.
7. Spyder
Spyder is a powerful scientific integrated programming environment written in Python for Python. It was developed by scientists, engineers and data analysts for themselves. Spyder has a unique combination of capabilities. Advanced editing, analysis, debugging, and profiling is combined with data exploration, interactive execution, deep code inspection, and beautiful visualization. Installing Spyder is easy: download it as part of the Anaconda distribution. The developers recommend the latest 64-bit version of Python 3 unless you have special requirements.
Pros:
- Free editor comes with Anaconda.
- A good working environment for viewing interpretations and encoding in two windows.
- A wide range of options exclusively for Python.
Minuses:
- A bit old interface.
8. Atom
This IDE is similar to Sublime's text editor. It is highly customizable and supports many of the required packages. I have less experience with this editor, so I recommend Sublime Text rather than Atom. But list some commonly used Atom development packages on the Python:
autocomplete-python
, linter-flake8
, python-debugger
.
Pros:
- Working with Atom is easy.
- Supports Python after additional installations.
Minuses:
- Additional Python plugin required.
- More suitable for working with git.
9. VIM
Vim is a text editor preinstalled on macOS and UNIX systems. Most experts love vim for its advanced computing power and lightweight, compact development environment. It is not recommended for beginners as it is difficult to learn. You can add syntax highlighting, code completion, debugging, refactoring, and more plugins to Vim and use it as a Python IDE. [Note. transl. The screenshot shows GVim - the GUI version of Vim].
Pros:
- Light.
- Effective.
- Productive.
Minuses:
- You need to devote time to learning the editor, he has a steep learning curve.
9. Notepad ++
Notepad ++ is a text and source code editor that runs on Microsoft Windows. Tabbed editing is supported, allowing you to work with multiple open files in one window. The name of the project comes from the C language increment operator. Notepad ++ is distributed as free software. The editor supports many programming languages and can be useful. In my opinion, there are better options. In addition, additional packages need to be installed to make the editor functional for Python programming.
Pros:
- Replaces notepad.
- It can be used for several programming languages including Python.
Minuses:
- Requires additional configuration and installation of plugins to work with Python.
- Not in the top recommendation: there are many better options.
10. Online editors
Programiz, tutorials point, w3schools and some other sites have editors with amazing features.
Pros:
- No additional installations and settings.
- Simple code runs without much hassle.
Minuses:
- Not as powerful as IDEs.
It was a long list. I have covered almost all editors from my work experience. The funny thing is, chances are I missed a lot. There are many customizable, user-friendly editors. There are also many cloud IDEs online today. GitHub is working on Codespaces, the cloud-based version of VSCode. And Vim is so flexible that it can have many other pros and cons.
Tell us in which Python editor you write your code and why?
Level Up , - SkillFactory:
- «Python -» (9 )
- - (8 )
- Data Science (12 )
- - Data Science (14 )
- - Data Analytics (5 )
- (18 )
E
- Machine Learning (12 )
- « Machine Learning Data Science» (20 )
- «Machine Learning Pro + Deep Learning» (20 )
- (6 )
- DevOps (12 )
- iOS- (12 )
- Android- (18 )
- Java- (18 )
- JavaScript (12 )
- UX- (9 )
- Web- (7 )