Python Tools for Visual Studio is a distribution of a powerful Python editing and debugging environment, integrated with the Microsoft Visual Studio IDE, and targeted toward developer productivity.
These tools enable developers to use Microsoft Visual Studio as an interactive Python development and debugging environment with the added functionality of:
PyCharm
Type: IDE.
Price: US $ 199 per User – 1st year for Professional Developer.
Platform Support: WINDOWS, LINUX, MAC etc.
Screenshots For Reference:
PyCharm is one of the widely used Python IDE which was created by Jet Brains. It is one of the best IDE for Python. PyCharm is all a developer’s need for productive Python development.
With PyCharm, the developers can write a neat and maintainable code. It helps to be more productive and gives smart assistance to the developers. It takes care of the routine tasks by saving time and thereby increasing profit accordingly.
Best Features:
- It comes with an intelligent code editor, smart code navigation, fast and safe refactoring’s.
- PyCharm is integrated with features like debugging, testing, profiling, deployments, remote development and tools of the database.
- With Python, PyCharm also provides support to python web development frameworks, JavaScript, HTML, CSS, Angular JS and Live edit features.
- It has a powerful integration with IPython Notebook, python console, and scientific stack.
Pros:
- It provides a smart platform to the developers who help them when it comes to auto code completion, error detection, quick fixing etc.
- It provides multiple framework support by increasing a lot of cost-saving factors.
- It supports a rich feature like cross-platform development so that the developers can write a script on different platforms as well.
- PyCharm also comes with a good feature of the customizable interface which in turn increases the productivity.
Cons:
- PyCharm is an expensive tool while considering the features and the tools it provides to the client.
- The initial installation is difficult and may hang up in between sometimes.
Official URL: Pycharm
Visual Studio Code
Free or paid: Visual Studio Code is free to download and open source with freeware binaries.
System compatibility: Windows, macOS, Linux
Description and features: Visual Studio Code is a complete code editor developed by Microsoft. While it has many premium features and is customizable, it has a clear and easy UX, and installing new extensions is beyond easy.
Visual Studio Code provides:
- syntax highlighting,
- bracket-matching,
- auto-indentation,
- box-selection,
- built-in support for IntelliSense code completion,
- rich semantic code understanding and navigation,
- code refactoring tools,
- a debugger.
It integrates with build and scripting tools and supports Git.
Visual Studio Code is known for its innovative features, like Live Share, which allows you to do real pair-programming remotely. Its unique architecture also made it possible for Microsoft to create a cloud-based service out of it, allowing you to leverage VS Code features wherever you are.
Visual Studio Code is extensible and customizable, letting you add more features and connect to additional services (one such extension is a Python package).
Sublime Text
Free or paid: Sublime Text is shareware (may be downloaded and evaluated for free, but a license must be purchased for continued use).
System compatibility: Windows, macOS, Linux
Description and features: Sublime Text is a lightweight, cross-platform code editor, known for being simple to use, fast, and easily customizable.
Sublime Text offers:
- split editing,
- syntax highlighting,
- auto-completion,
- command palette,
- “Goto” options meant to maximize your efficiency, like:
- Goto Anything (“open files with only a few keystrokes, and instantly jump to symbols, lines or words”),
- Goto Definition (which allows the editor to “automatically generate a project-wide index of every class, method and function”).
Sublime Text has a powerful Python API that guarantees easy customization with tools and packages (after getting the Package Control manager).
Vim
Free or paid: Vim is completely free and open source.
System compatibility: macOS, Windows, Linux
Description and features: Vim is an extensible terminal-based editor.
Vim is all about configurability and, as its official website states, “it will not hold your hand.” While its entry threshold is not the lowest, your preparations will pay off. Vim is fast, effective, and 100% suited to your needs.
At its very core, Vim is a text editor equipped with all the basic features to facilitate writing code. It:
- highlights syntax,
- points out errors,
- looks for syntax matches,
- offers code completion,
- and more!
Vim is known for its simple commands, but to use this feature effectively, you have to “start Insert mode to enter text and return to Normal mode to execute commands.” This “split” model might take some time to get used to. But in the end, it makes your work faster, as you can keep both your hands on the keyboard!
The reason why Vim is so popular among Python developers is the fact that it’s highly customizable. It offers a plethora of different extensions and plugins.
Use it if: you are an experienced developer and you know what you want—or you have time to read quite a lot of guides. If your preferred way of working doesn’t include a mouse, or you do a lot of work on a remote server, Vim is the way to go.
Atom
Free or paid: Atom is free and open source.
System compatibility: Windows, macOS, Linux
Description and features: Atom is an open-source text editor known for its simple interface and wide customizability. It is available to download on a dedicated GitHub and welcomes user-made content.
Atom self-advertises as hackable. It even features packages of IDE-like features for a more comprehensive experience.
The text editor itself offers:
- smart auto-completion,
- multiple panes,
- a built-in package manager,
- a file system browser,
- a find-and-replace feature,
- an ability to work with Git and Github directly from Atom,
- an ability to share your workspace with others in real-time.
The greatest strength of Atom is the variety of packages, which can make the editor fit your needs perfectly. It offers a lot of themes and it’s easy to customize and style it. So, you can create a Python-friendly environment for yourself, enriched with whatever features you need.
Use it if: you want an open-source, fast, and customizable editor without sacrificing the aesthetics.
Jupyter Notebook
Free or paid: Jupyter Notebook is free and open source.
System compatibility: Windows, macOS, Linux, and cloud-hosted instances
Description and features: Jupyter Notebook is an open-source web app that supports multiple programming languages.
Jupyter Notebook allows creating and sharing documents that contain live code, equations, visualizations, and narrative text. Its uses include:
- data cleaning and transformation,
- numerical simulation,
- statistical modeling,
- data visualization,
- machine learning,
- and more.
There are a number of Jupyter-like platforms that you can access through the web browser without any setup on your machine. These include Azure Notebooks, Google Colab, or Watson Studio Cloud.
Fun fact: some of our articles even started out as Jupyter Notebook files!
Use it if: you work in the fields of machine learning and data science, or just want a quick tool that’s always on hand for small data-crunching scripts.
Pydev
Type: IDE
Price: Open Source
Platform Support: QT, WINDOWS, LINUX, MAC OS etc.
Screenshots For Reference:
PyDev is an outside plugin for Eclipse.
It is basically an IDE that is used for Python development. It is linear in size. It mainly focuses on the refactoring of python code, debugging in the graphical pattern, analysis of code etc. It is a strong python interpreter.
As it’s a plugin for eclipse it becomes more flexible for the developers to use the IDE for development of an application with so many features. In open source IDE, it is one of the preferred IDE by the developers.
Best Features:
- It is a nice IDE with Django integration, auto code completion and code coverage feature.
- It supports some rich features like type hinting, refactoring, debugging, and code analysis.
- PyDev supports PyLint integration, tokens browser, interactive console, Unittest integration, and remote debugger etc.
- It also supports Mypy, black formatter, virtual environments, and analyzing f-strings.
Pros:
- PyDev provides a strong syntax high lighting, parser errors, code folding, and multi-language support.
- It has a good outline view, it marks occurrences as well and has an interactive console.
- It has good support for CPython, Jython, Iron Python, and Django and allows interactive probing in suspended mode.
- It provides tabs preferences, smart indent, Pylint integration, TODO tasks, auto-completion of keywords and content assistants.
Cons:
- Sometimes the plugins in PyDev become unstable by creating issues in the development of the application.
- Performance of PyDev IDE decreases if the application is too big with multiple plugins.
Official URL: PyDev
GNU Emacs
Free or paid: GNU Emacs is completely free and open source.
System compatibility: Windows, macOS, Linux
Description and features: Emacs is described as “the extensible, customizable, self-documenting real-time display editor.” It was developed by the GNU project founder, Richard Stallman.
GNU Emacs offers content-aware editing modes, including syntax coloring, for many file types. It has built-in documentation, full Unicode support, and a whole array of functionalities beyond text editing available through packages. One such package is elpy, which can easily turn your editor into an IDE equivalent.
Like Vim, Emacs was created with the terminal—and mouse-free operation—in mind, but it also has a graphical interface for those that want to get a more modern UI experience.
The Emacs guide promises that “all of the basic editing commands (and there are lots of them) are available no matter what you’re trying to do,” and so are “all the tools Emacs provides for opening, saving, searching and processing text.” This means that you don’t have to switch to other software while using Emacs.
It also has a clear packaging system for downloading and installing extensions.
Bonus: you can play Tetris in Emacs.
Use it if: you value minimalism, but you also want your editor to be highly extensible and allow you the freedom of choice.
Spyder
Free or paid: Spyder is free and open source.
System compatibility: Windows, macOS, Linux
Description and features: Spyder is an IDE developed by and for the people in the scientific fields. It is available through Anaconda.
It includes:
- an editor (with syntax highlighting, introspection, code completion, real-time analysis, and more);
- a debugger;
- a profiler;
- a variable explorer;
- an IPython console;
- static code analysis;
- file explorer;
- history log;
- a lot of other features that make for a comprehensive IDE.
What makes it suited for the scientific fields, though, is its built-in integration with many popular scientific packages, including NumPy, SciPy, Pandas, IPython, QtConsole, matplotlib, SymPy, and more. It is also heavily customizable thanks to third-party plugins, and can be used as a PyQt5 extension library.
Use it if: you’re in the field of machine learning or data science and you’re looking for a comprehensive tool to speed up your work and save you some time looking for libraries and tools on your own.
Conclusion
There are so many python IDEs out there that it can be hard to distinguish between them. Here’s a list of what I personally think are the best Python IDEs for you to choose from, including suggestions on when you should use each IDE.