Popular Python IDEs and a few Helpful Tools
Tags: python, beginners, webdev
Published: 2022-10-17 04:23:44

## Introduction

Last post, we explored the basics of Python. We discussed information about the birth of the programming language, a little bit of history about it, its main goals, and some basic syntax. This time around, we will be taking a look at some of the most popular IDEs and tools in Python that can make coding in Python a breeze.

 [Link to previous post](https://dev.to/zachmarullo/introduction-to-python-2a5n)

## Popular Python IDEs 

 

**-IDLE**
IDLE, or Integrated Development and Learning Environment is one of the most popular IDE's to use with python. For starters, like many others on this list, IDLE is a free Python IDE. Additionally, IDLE has some awesome features, an easy installation, and works on almost all operating systems. Some of the bright points of this coding environment include an efficient debugger, syntax highlighting, as well as the ability to search in or for multiple files simultaneously. IDLE is also considered to be very beginner friendly, making it the perfect IDE for someone who is just beginning to learn Python.  

**-PyCharm**
This IDE made by JetBrains is one of the more well-known IDE's for Python and is packed with helpful tidbits of information and templates to help the user understand Python better. This is currently the IDE I am using to write Python in, but as we will see, there are some more niche uses for other IDE's in the list. One of the most helpful things about the PyCharm IDE is that within the IDE there are examples of things like class instantiation, as well as some examples of algorithms and many other constructive pieces of code built in for you to interact with or look at to try to hone your Python writing skills. PyCharm is another free IDE with some outstanding features such as being able to access databases directly from within the IDE, smart code navigation, and even support for JavaScript, CSS, and TypeScript. In the [Stack Overflow Developer's Survey](https://survey.stackoverflow.co/2022/), PyCharm was ranked as the 7th most popular of any IDE.

**-Jupyter Notebook**
Jupyter notebook is an IDE that is used mostly by data scientists and machine learning engineers because it has the ability to test code only executing one cell, rather than running the whole program like most other IDE's. It is also seen as one of the best IDEs for code collaboration because it works on the browser, and can be annotated for others, as well as having a live code sharing feature. There are also some data science libraries integrated into Jupyter such as Pandas, Matplotlib, and NumPy.

**-Thonny**

Thonny is another free IDE that is useful for learning as well as teaching Python programming. Although it does have more of an "old school" look to it, it still comes with some impressive features to assist you on your coding journey. Some of these are an automatic syntax error detector, a detailed view of variable used in a Python project, and an easy to use debugger built in.


![Thonny IDE](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fec7o8c7e9ehizsvs4s.PNG)

**-Visual Studio Code**
According to the developers survey conducted by Stack Overflow, Visual Studio Code is the most popular and most used of any IDE in 2022. VSC's environment supports many different languages, and Python is no exception. One of the perks of Visual Studio Code is that it is free, but this hardly scratches the surface as far as cool things you can do with this IDE. Visual Studio Code is an open-source IDE and was created by Microsoft. It comes with many features including git integration, code debugging within the editor, and one of the best smart code completions IDE's have to offer. On top of all of this, Visual Studio Code has a plethora of options or add-ons that you can use to customize your experience, as well as access to helpful extensions that can be downloaded through the IDE. 

---


Alright, that covers just a few of the options available, but if you're interested in finding more and seeing the pros and cons of each IDE, [simplilearn](https://www.simplilearn.com/tutorials/python-tutorial/python-ide) has a list of 10 Python IDE's with some notable features listed, as well as a video walkthrough and some beginner tutorials for learning Python. That being said, we should now take a look at some of the Python tools I found interesting or helpful to know about.

## Helpful and Interesting Python Tools

**-PIP**

This is the bread and butter for Python packages, or modules. If you have Python version 3.4 or later, PIP is automatically included. PIP is used to download many of the other tools on this list, so if you're interested in them you'll want to make sure PIP is installed in your workspace. If you're unsure if PIP is included in the Python IDE you're using, its easy to check the version with the following code:

![Check PIP Version Command](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w2dclb44wbu7gaor1upw.PNG)

If you have PIP, this will return your version number, but if you do not you'll be returned the usual "no such file or directory" error.

**-Pylint**
Pylint functions similarly to Eslint for JavaScript in that it is used to catch various errors such as syntax errors, misspelled variable names, and less noticeable logical errors. This can be extremely helpful because, as a developer, it can be quite a headache to scan through a file several times just to realize you misspelled a variable name or forgot an essential syntactical element. Point aside, having a tool that helps you to write code in the "best practice" method can be helpful whether you are a beginner, or well versed in Python and just want to be sure you're using the proper syntax while coding. One of the downsides to this tool is that it sometimes is just plain wrong. This is remedied by creating a ".pylintrc" file which functions similar to a ".gitignore" file in JavaScript. Pylint is also extremely easy to install, just being installed at the command line with the following code:

![Pylint Download Command](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0jp9i89yy8baui3te3ot.PNG)

**-Scikit-Learn**
Scikit-Learn is an open-source Python tool mostly used by data scientists as well as machine learning. This is because Scikit-Learn is extremely efficient in data mining and data analysis. The Scikit-Learn library has many efficient tools for machine learning as well as statistical modeling. It should be noted that Scikit-Learn should not be used for simpler tasks like reading data, manipulating, or summarizing it. This is because there are better libraries for those things such as [Pandas](https://pandas.pydata.org/docs/) and [NumPy](https://numpy.org/doc/).

**-Black**
Black is a code formatting tool for python. One of the reasons that Black is a good python tool is due to its properties of being fast and not importing any code to format what you've written. It can be tiring to have to go through your files and manually format everything for readability or making sure that lines are properly wrapping. Black solves this problem by scanning through whatever file(s) you tell it to and automatically formatting them for you. Much like others on this list, Black is installed via the command line using PIP. after that its as simple as running:

```
black nameOfProject_toBeChecked
```

## Conclusion

This has been a small look at some of the available IDEs and tools that you as a developer can use to customize your experience learning and writing Python. Although this list does contain a few of the most interesting Python tools, this list does not speak to the vast amount of different packages you can install within your python coding environment to help you in almost any way imaginable. Hopefully this post has given you ideas about which tools you'd like to look further into, and maybe even a "favorite" IDE you can download. Below I've included some of the sources I used to write this post as well as some of the docs for the various tools listed above. Thanks for reading!

**_Sources:_**
[Stack Overflow Developer's Survey](https://survey.stackoverflow.co/2022/)
[JetBrains: PyCharm Edu Site](https://www.jetbrains.com/pycharm-edu/)
[Simplilearn Python IDE Info](https://www.simplilearn.com/tutorials/python-tutorial/python-ide)
[Python Tools Blog Post](https://www.upgrad.com/blog/python-developer-tools/)
[Pylint Docs](https://pylint.pycqa.org/en/latest/)
[W3 Schools Python PIP](https://www.w3schools.com/python/python_pip.asp)