Home  >  Article  >  Backend Development  >  Choose a Python IDE that suits you

Choose a Python IDE that suits you

Y2J
Y2JOriginal
2017-05-17 13:59:412198browse

Overview

"If you want to do your job well, you must first sharpen your tools." If Programming is the craft of the programmer, then the IDE is the programmer It's a meal guy.

The full name of IDE is Integration Development Environment (Integrated Development Environment), which generally takes the codeeditor as the core and includes a series of peripheral components and ancillary functions. The most important thing about an excellent IDE is that in addition to ordinary text editing, it provides various quick editing functions for specific languages, allowing programmers to browse, enter, and modify code as quickly, comfortably, and clearly as possible . For a modern IDE, syntax coloring, error prompts, code folding, code completion, code block positioning, refactoring, and

debugger, version control system (VCS) The integration and so on are all important functions

. Customizable frameworks, represented by plug-ins and extension systems, are another popular trend in modern IDEs.

The more functions the IDE has, the better, because more functions often mean greater complexity, which not only distracts the programmer's original energy, but may also cause more errors. As long as the basic functions meet your needs, the IDE that suits your usage habits is the best IDE. The logic of programmers is always: use the most appropriate tools to do the most appropriate things. Because of this, compared to a large and comprehensive IDE, using a simple

text editor combined with independent debuggers, interactive command lines and other external gadgets is another development method. Due to the simplicity of

Python itself, this approach is particularly suitable when writing small code snippets and learning

through example code.

Commonly used IDEsIntroduction

Here is a brief introduction to some of the most popular IDEs among Python programmers.

Built-in IDE

Every common distribution of Python has a built-in IDE. Although their functions are generally not powerful and complete, their simplicity and ease of use are the biggest advantage. For beginners, they are also the best choice to get started, allowing you to focus more on the language itself without being distracted by complicated IDEs.

IDLE

IDLE is a simple and compact IDE built into the Python standard distribution. It includes basic components such as an interactive command line, editor, and debugger. It is enough Suitable for most simple applications. IDLE is written in pure

Python based on Tkinter. The original author is Guido van Rossum, the father of Python himself.

PythonWin

PythonWin is part of the Python Win32 Extensions (semi-official python

for

win32 enhancement package) and is also included in ActivePython windows In release version. As its name

says, it is only for win32 platform.

Overall, PythonWin is an enhanced version of IDLE, especially in terms of ease of use (just like the style of windows itself). In addition to ease of use and stability, (simple) code completion and a more powerful debugger are clear advantages over IDLE.

MacPython IDE

MacPythonIDE is the IDE built into the Mac OS distribution of Python. It can be regarded as the Mac counterpart of PythonWin. It was written by Guido's brother Just van Rossum. .

Emacs and Vim

Emacs and Vim claim to be the most powerful (and second most powerful) text editor on the planet, and for many programmers The only (three?) choice for universal IDE. Compared with similar general-purpose text editors such as UltraEdit, Emacs and Vim can build more complete and convenient IDEs due to their powerful extension functions.

*

Emacs -- Introduction to Emacs and python-mode

* Emacs23 -- The latest version of Emacs, fully supporting unicode, currently for development Middle branch

* Vim -- Recommended tips for using the Vim general editing environment

* PyIDEguider, VimPython, VimPythonTDD -- Several introductions in the community are conducted in the Vim environment Python development article

Although it can be said that mastering both can benefit you for life, the learning curve is relatively steep. Due to historical reasons, their design concepts are based on a pure ascii character environment. GUI is relatively not the focus of support. Only by using a large number of shortcut keys can the greatest convenience be brought. For beginners, Vim is relatively simpler, but the GUI of Emacs is closer to the habits of general editors.

Eclipse + PyDev Eclipse is a new generation of excellent general-purpose IDE. Although it is developed based on Java technology, it has excellent

Architecture

makes it as scalable as Emacs and Vim, and has now become the favorite Swiss Army Knife of many programmers.

*

Eclipse -- Instructions for using the Eclipse integrated development environment, briefly introducing the basic knowledge of Eclipse plug-in development

PyDev is the most mature and complete Python development plug-in on Eclipse , and is still under active development. In addition to the basic functions provided by the Eclipse platform, PyDev's code completion, syntax error checking, debugger, refactoring and other functions are quite excellent. It can be said that it is the most powerful among open source products. Many The thoughtful little functions are also in line with editing habits and are quite easy to use. Speed ​​and resource usage are fatal injuries, and it is difficult to run on low-configuration machines.

UliPad

UliPad is an IDE developed by limodou, a well-known domestic pythoner and a core member of the PythonCN community.

SPE (Stani's Python Editor)

A very distinctive lightweight python IDE with comprehensive functions yet compact and lightweight, especially suitable for writing small scripts . The UML class diagram that generates code in real time is a unique feature of this company. In addition, it also pays special attention to the integration with external tools. For example, it integrates wxGlade as a WYSIWYG GUI development environment, Winpdb as a debugger, and even integrates with the 3D modeling tool Blender.

SPE does not have the concept of managing Project, which makes it inconvenient to develop projects composed of multiple files and directories. In addition, the interface design is relatively not detailed enough, which can be regarded as a flaw

Boa Constructor

An IDE designed for rapid development of GUI programs based on wxPython, supporting "what you see" The drag-and-drop development of

controls

is what you get, which is called Delphi in the Python world.

was once selected as "Project of the Month" by sourceforge, but the development speed has tended to be slow recently.

WingIDE

The commercial products developed by Wingware are generally the most powerful and professional Python IDE. Open source projects can apply for a free license.

The biggest disadvantage is the same as PyDev, which is slower and takes up more resources.

Komodo

Another excellent commercial product, developed by ActiveState, is a general-purpose scripting language IDE that supports

JavaScript# in addition to Python. ##,

perl

, PHP, ruby, tcl and other languages ​​

.

Textmate Textmate is a Cocoa native program for the Mac OSX platform, similar to UltraEdit. Known for its flexible Bundles and Code Snippets, it supports most scripting languages. The entire Rails development team

Teams all use this Editor. Similar to Emacs/vi, you need to cooperate with ctags to analyze the python code structure, and you can easily perform functions such as unittest. It should be noted that it has special support for Django's model and

template, as well as Zope.

Scribes

"Scribe"──Poor man's TextMate?

Intype

Under Windows Textmate

PyScripter

Python IDE developed by Delphi, only windows version.

Tools other than IDE

Interactive command line (interactive console)

IPython

IPython homepage: ipython.scipy.org/

Debugger (Debugger)

Winpdb

Winpdb's homepage: www.digitalpeers.com/pythondebugger/

OtherEditors that support Python

Leo

Development tools based on the new Literate Programming (literary programming) concept. For a detailed introduction, please see: LeoEnvironment

Leo’s homepage: webpages.charter.net/edreamleo/front.html

Bluefish

Bluefish is often thought of as a web page editor similar to Homesite, but in fact it is much more than that. It should be a general text editor that supports C, PHP, Python,

Ruby, Perl, Java, Shell, Tcl and many other programming languages, and supports syntax highlighting, automatic Line breaks, automatic closing of HTML tags, etc., and multiple documents can be edited at the same time.

Bluefish is certainly not a Python IDE tool, but if you are doing web-related development (DjanGo, TurboGears, etc.), it is obviously very convenient to use it to write programs. Moreover,

Bluefish is quite friendly and can be used basically without having to learn it. It allows novices like me to transfer their energy to learning Python as soon as possible.

Bluefish official website bluefish.openoffice.nl/index.html can currently run on most UNIX-like operating systems.

Discuss

Comprehensive comparison

swordsp’s personal suggestion:

Beginners prefer IDLE / PythonWin / MacPython

Emacs / Vim / Eclipse+PyDev is a powerful and versatile solution. It depends on which environment you are more familiar with. If you have no foundation, it is more recommended. Eclipse+PyDev.

SPE is the most comprehensive among the simple IDEs implemented in pure Python, and is very convenient when writing small scripts.

Boa’s strength lies in rapid GUI development based on wxPython.

If you have the conditions to choose commercial tools, WingIDE or Komodo are both excellent products.

【Related recommendations】

1. Special recommendation:"php Programmer Toolbox" V0.1 version download

2. Python free video tutorial

3. Eclipse+Pydev installation tutorial

4. Introducing 10 commonly used Python IDEs

The above is the detailed content of Choose a Python IDE that suits you. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn