


IDEs and other development tools commonly used by Python programmers
Overview
"If you want to do your job well, you must first sharpen your tools." If programming is the programmer's craft, then the IDE is the programmer's bread and butter.
The full name of IDE is Integration Development Environment (Integrated Development Environment), which generally takes the code editor 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, integration with debuggers, version control systems (VCS), etc. are all important functions. Customizable frameworks represented by plug-ins and extension systems are another popular trend in modern IDEs.
The more functions an IDE has, the better, because more functions often mean greater complexity, which not only distracts programmers from their 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 external gadgets such as independent debuggers and interactive command lines 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.
Introduction to commonly used IDE
Here is a brief introduction to some of the most popular IDEs among Python programmers.
Built-in IDE
Various common distributions of Python have built-in IDEs. 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, and is sufficient 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.
http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html -- "One Day of IDLE Toying", an introductory article with pictures and texts
http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm -- "One Day of IDLE Toying" Chinese version
PythonWin
PythonWin is part of the Python Win32 Extensions (semi-official python for win32 enhancement package) and is also included in the Windows distribution of ActivePython. 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 stronger debugger are clear advantages over IDLE.
Download page for Python Win32 Extensions: http://sourceforge.net/projects/pywin32/
ActivePython's homepage: http://www.activestate.com/Products/ActivePython/
MacPython IDE
MacPythonIDE is the IDE built into the Mac OS distribution of Python. It can be regarded as the Mac counterpart of PythonWin, written by Guido's brother Just van Rossum.
Emacs and Vim
Emacs and Vim are known as the most powerful (and second most powerful) text editors on the planet, and for many programmers they are the only (three?) choices for all-purpose IDEs. 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 supports unicode, and is currently a branch under development
Vim -- Vim general editing environment usage tips
PyIDEguider, VimPython, VimPythonTDD -- several articles in the community introducing Python development in the Vim environment
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 pure ascii character environment. GUI is relatively not the focus of support. Extensive use of shortcut keys can bring the greatest convenience. 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, its excellent architecture makes it as scalable as Emacs and Vim. It 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 for Eclipse, and it 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, and many thoughtful little functions are also very suitable. Editing habits are quite easy to use.
Speed and resource usage are fatal, and it is difficult to run on low-configuration machines.
PyDev -- Introduction to PyDev development environment
Eclipse's homepage: http://www.eclipse.org/
PyDev's homepage: http://pydev.sourceforge.net/
PyDev User Manual: http://www.fabioz.com/pydev/manual_101_root.html (Eng) This introductory manual covers the use from installation to development process, and is displayed with pictures and texts. It is recommended for everyone to use.
Technical development reference: Python development using Eclipse, PyDev and Ant, http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html
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 unique lightweight Python IDE, with comprehensive functions yet compact and lightweight, especially suitable for writing small scripts.
Instant generation of UML class diagrams from code is a unique feature of this company, and special emphasis is placed on 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 considered a flaw.
SPE's homepage: http://stani.be/python/spe/
Boa Constructor
An IDE designed specifically for the rapid development of wxPython-based GUI programs. It supports "What You See Is What You Get" control drag-and-drop development and is known as Delphi in the Python world.
It was once selected as "Project of the Month" by sourceforge, but the development speed has tended to be slow recently.
Boa Constructor's homepage: http://boa-constructor.sourceforge.net/
Eric3
Eric3's homepage: http://www.die-offenbachs.de/detlev/eric3.html
WingIDE
The commercial products developed by Wingware are generally the most powerful and professional Python IDE at present. 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.
Wingware's homepage: http://wingware.com/
Komodo
-
Another excellent commercial product, developed by ActiveState, is a general-purpose scripting language IDE. In addition to Python, it also supports JavaScript, perl, php, ruby, tcl and other languages.
Komodo's homepage: http://www.activestate.com/Products/Komodo/
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 uses 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.
Textmate's homepage: http://macromates.com/
Scribes
"Scribe"──Poor man's TextMate?
Intype
Textmate under Windows
PyScripter
Python IDE developed by Delphi, only has windows version.
PyScripter's homepage: http://mmm-experts.com/Products.aspx?ProductId=4
Tools outside of IDE
Interactive command line(interactive console)
IPython
IPython's homepage: http://ipython.scipy.org/
Debugger
Winpdb
Winpdb's homepage: http://www.digitalpeers.com/pythondebugger/
Other editors that support Python
Leo
Development tools based on the new Literate Programming concept. For a detailed introduction, see: LeoEnvironment
Leo's homepage: http://webpages.charter.net/edreamleo/front.html
Bluefish
Bluefish is often thought of as a web editor similar to Homesite, but in fact it is much more than that. It should be a universal text editor that supports C, PHP, Python, Ruby, Perl, Java, Shell, Tcl and many other programming languages. It supports syntax highlighting, automatic line wrapping, automatic closing of HTML tags, etc., and can edit multiple files at the same time. documents.
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 very 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 http://bluefish.openoffice.nl/index.html can currently run on most UNIX-like operating systems.
Discuss
Comprehensive comparison
IDLE/PythonWin/MacPython
is the first choice for beginners Emacs / Vim / Eclipse+PyDev are powerful and versatile solutions. It depends on which environment you are more familiar with. If you have no foundation, Eclipse+PyDev is more recommended.
SPE is the most complete of 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.
Other articles comparing Python IDEs:
http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-14/index.html
"Charming Python" columnist David Mertz's evaluation article was written in 2001. Many of the contents are too old, but it is still of reference value.
http://spyced.blogspot.com/2005/09/review-of-6-python-ides.html -- review-of-6-python-ides.html
http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html -- pycon-python-ide-review.html
Two newer Python IDE evaluation articles (the original address requires a proxy to access, and the latter attachment link is a local backup) compare PyDev, Eric3, Boa Constructor, BlackAdder, Komodo, WingIDE, and SPE respectively.
Source: http://wiki.woodpecker.org.cn/moin/PyIDE
The above is the detailed content of IDEs and other development tools commonly used by Python programmers. For more information, please follow other related articles on the PHP Chinese website!

Python excels in gaming and GUI development. 1) Game development uses Pygame, providing drawing, audio and other functions, which are suitable for creating 2D games. 2) GUI development can choose Tkinter or PyQt. Tkinter is simple and easy to use, PyQt has rich functions and is suitable for professional development.

Python is suitable for data science, web development and automation tasks, while C is suitable for system programming, game development and embedded systems. Python is known for its simplicity and powerful ecosystem, while C is known for its high performance and underlying control capabilities.

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

You can learn the basics of Python within two hours. 1. Learn variables and data types, 2. Master control structures such as if statements and loops, 3. Understand the definition and use of functions. These will help you start writing simple Python programs.

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

Error loading Pickle file in Python 3.6 environment: ModuleNotFoundError:Nomodulenamed...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

WebStorm Mac version
Useful JavaScript development tools