[Increase knowledge] Python common development tools you don't know! There are so many apes! Python topic month

[Increase knowledge] Python common development tools you don't know! There are so many apes! Python topic month

This article is participating in the "Python theme Month" view details about the active links


Python is one of the most popular development languages in recent years. Many beginners don't know what Python's common development tasks are. Let me give you a brief introduction. You can quickly develop projects according to your favorite tools. :


IDLE: Python built-in IDE (provided with python installation package)

IDLE is a basic IDE (Integrated Development Environment) for developing python programs. It has basic IDE functions and is a good choice for non-commercial Python development. When python is installed, IDLE will be installed automatically, so there is no need to look for it separately. At the same time, IDLE can also debug Python programs very conveniently when using Eclipse, a powerful framework. Basic functions: syntax highlighting; paragraph indentation; basic text editing; TABLE key control; debugging program.

IDLE is generally a standard Python distribution, even written by Guido van Rossum himself (at least most of the original). You can run Idle in any environment that can run Python and TK. After opening Idle, an enhanced interactive command line interpreter window appears (has better cut-paste, line return and other functions than the basic interactive command prompt). In addition, there is an editor for Python (no code merging, but syntax tag highlighting and code auto-completion functions), a class browser, and a debugger. The menu is TK "stripped"; that is, clicking on the dotted line of any drop-down menu at the top will promote the menu to its own permanent window. Especially the "Edit" menu, it is very useful to "lean" it on the corner of the desktop. Idle's debugger provides breakpoints, stepping and variable monitoring functions; but it does not have its memory address and variable content storage or synchronization and other analysis functions.


PyCharm: Commonly used Python development tools

PyCharm is a Python IDE created by JetBrains, and the refactoring plug-in Resharper of VS2010 comes from JetBrains. At the same time it supports Google App Engine and PyCharm supports IronPython. These features, supported by advanced code analysis programs, make PyCharm a powerful tool for Python professional developers and starters. First of all, PyCharm has the functions of the general IDE, such as debugging, syntax highlighting, project management, code jump, smart prompt, automatic completion, unit testing, version control. In addition, PyCharm also provides some good functions for Django Development, while supporting Google App Engine. What's cooler is that PyCharm supports IronPython.

The main functions are:

  • Coding assistance: It provides a smart, configurable editor with code completion, code snippets, code folding and split windows, which can help users complete coding work faster and easier.
  • Project code navigation: The IDE can help users navigate from one file to another instantly, from one method to its declaration or usage and even across the class hierarchy. It can be even faster if the user learns to use the shortcut keys it provides.
  • Code analysis: Users can use its coding syntax, error highlighting, intelligent detection and one-click code quick completion suggestions, making the coding more optimized.
  • Python refactoring: With this function, users can easily rename, extract methods/superclasses, import domains/variables/constants, move and forward/backward reconstruction within the scope of the project.
  • Support Django: With its built-in HTML, CSS and JavaScript editors, users can use the Djang framework for web development more quickly. In addition, it can also support CoffeeScript, Mako and Jinja2.
  • Support Google App Engine: Users can choose to use the Python 2.5 or 2.7 operating environment to develop applications for the Google APp engine and perform routine program deployment.
  • Integrated version control: login, record, view splitting and merging-all these functions can be obtained in its unified VCS user interface (available for Mercurial, Subversion, Git, Perforce and other SCM).
  • Graphical page debugger: Users can adjust Python or Django applications and test units with its own full-featured debugger with breakpoints, stepping, multi-screen views, windows, and evaluation expressions.
  • Integrated unit test: Users can run a test file, a single test class, a method or all test items in a folder.
  • Customizable & extensible: Textmate, NetBeans, Eclipse & Emacs keyboard master, and Vi/Vim simulation plug-in can be bound.


Komodo and Komodo Edit: The latter is a free lite version of the former

Komodo is a free/paid, multi-language, and cross-platform (available for Windows, Mac OS X and Linux) IDE. It is very powerful and supports Perl, PHP, Python, Ruby, Tcl, as well as JavaScript, CSS, HTML , XML. It has features such as background syntax detection, color matching, error capture, and automatic completion. It is worth mentioning that the IDE provides users with a wealth of extensible functions and supports xpi extensions similar to firefox. Komodo is a php IDE. This IDE runs on Windows, Mac OS X and Linux, and supports common open source languages-Python, Perl, PHP and Ruby. The code intelligence engine is very reliable. It scans all language installations to find custom extensions, such as PEAR modules. In terms of projects, it supports integration with CVS, Subversion, and Perforce, and also allows direct transfer of code to the server FTP. Komodo Edit is a free and open source project, Komdo IDE is not an open source project.


Spyder: Install the advanced IDE that comes with Anaconda

Spyder is a simple integrated development environment developed by the author of Python(x,y) for it. Compared with other Python development environments, its biggest advantage is that it imitates the function of MATLAB's "workspace", which can easily observe and modify the value of the array. Spyder's interface consists of many panes, and users can adjust their position and size according to their preferences. When multiple panes appear in one area, they will be displayed in the form of tabs. For example, in Figure 1, you can see "Editor", "Object inspector", "Variable explorer", "File explorer", "Console", "History log" and two panes displaying images. In the View menu, you can set whether to display these panes.


PythonWin: ActivePython or pywin32 provide this IDE, only for Windows

PythonWin is a Python integrated development environment, which is better than IDLE in many aspects. Of course, as the software name suggests, this tool is for Win32 users. The easiest way to get PythonWin is to download the ActivePython 2.0 distribution, which is pretty good (I installed build 203 for this column). ActiveState's Python includes a series of excellent additional modules, and some (such as NumPy and PIL) can be selected as additional downloads during the installation process. There are other additional modules; one in particular is PythonWin (Idle is also included), and the other is a series of useful PythonCOM extensions for Windows scripting. ActiveState also has non-Windows distributions, but some components lack the correspondence with Windows.


SPE (Stani's Python Editor): Free software with more functions, based on wxPython


Ulipad: Free software with more functions, based on wxPython; the author is Chinese Python master limodou

UliPad is the power, orientation and flexible programmer of wxPython. It is like a class browser, code auto-completion many functions, such as: HTML viewer, directory browser, wizard and so on.


WingIDE: It may be the most versatile IDE, but it is not free software (education users and open source users can apply for free keys)

Wing IDE is a Python language IDE, which includes the highlighting of a large number of syntax tags. Compared with other similar IDEs, the biggest feature of wingIDE is that it can debug django applications. WingIDE is a very good IDE; although it is only a tool for Python. The source code browser is very practical for browsing projects or modules (shown in navigable source code and document line summaries). Although there is no monitor, the debugger is well designed. WingIDE is a very good IDE; its editor includes syntax tag highlighting for a large number of languages, although it is only a tool for Python. The source code browser is very useful for browsing projects or modules (shown in navigable source code and document line summaries). Although there is no monitor, the debugger is well designed. The editor has excellent command auto-completion and function jump lists, but no code merging. Project-oriented IDEs are very useful for large-scale products (in this regard, it is the better of most free IDEs except Komodo). The overall interface is like an enhanced Idle, using a "multi-window" arrangement similar to many TK and XWindow interfaces. Use docking and embedding (in this regard, it is not caused by excessive use of MS Visual Studio), but different developers may like different styles of forms. WingIDE is a promising development environment. Wing IDE is an integrated development environment designed for Python programming language. Since 1999, Wingware has focused on the development of the Python development framework. At present, Wing IDE is already a well-known Python development framework.


Eric: Free software based on PyQt, powerful. The full name is: The Eric Python IDE

Eric is developed based on PyQt, and the program runs even only using a BAT file to call, and the interface is relatively ugly. PyCharm is developed based on Java and comes with beautiful themes and a more uniform style. In terms of appearance, PyCharm is undoubtedly the winner. By the way, WingIDE, although it also brings a lot of themes, but some parts of the entire window are not controlled by themes. For example, when you choose a dark theme, there is often a white control in the lower left corner of the window, which is dazzling. Speed and memory overhead From startup to opening a project, I tested these IDEs with a stopwatch. The data is as follows: the slowest is PyCharm, which takes about 18-20 seconds on average. Even if there are only two plug-ins left, and the Xms and Xmx parameters are adjusted appropriately, the fastest result is 16 seconds 5; Eric only takes 11 seconds on average; the fastest is WingIDE, which takes only 7 seconds; memory overhead , PyCharm is a big player, it will eat your 300-400MB of memory at every turn. Beware of children's shoes with small memory!


PyScripter: A lightweight open source Python IDE developed using Delphi, supporting Python 2.6 and 3.0.

PyScripter is an open source Python integrated development environment (IDE) developed using Delphi, released under the MIT agreement. Features: syntax highlighting, syntax auto-completion function, syntax checking function, breakpoint debugging function, in addition, for Python scripts that use command-line parameters, PyScripter also allows you not to enter command-line parameters in the terminal, but directly in Just enter it in the command line parameter input window popped up by PyScripter, which is very convenient. Currently, the latest version-PyScripter v2.5.3-supports 32- and 64-bit Windows operating systems. In addition to learning Python, PyScripter can also edit Javascript, PHP, HTML, and XML files.


PyPE: An open source cross-platform PythonIDE. PyPE is an open source, cross-platform. The author of PyPE aims to build a lightweight but powerful enough Python integrated development environment. PyPE is developed in Python language and uses the wxPython toolkit. At present, the development of PyPE is mainly carried out on Windows, and tested on Ubuntu and KUbuntu. At the same time, it is also tested on Fedora Core 5 through the workstation. PyPE developers also intend to support the MAC operating system.


bpython: A lightweight Python interpreter developed using curses library under Unix-like operating systems

bpython is an enhanced Python interactive interpreter, developed using the curses package, and requires pygments dependency. bpython is a Python interpreter with a fancy interface that works on Unix-like operating systems (such as Linux) (I heard that it also works well on OS X), released under the MIT license. It has the following features: real-time syntax highlighting, automatic syntax completion prompt, function parameter list prompt, "Rewind" code, sending code to pastebin., saving code to file, automatic indentation, support for Python 3 and other features.


eclipse + pydev plug-in: easy to debug the program

On July 16, 2003, a three-person development team headed by Fabio Zadrozny registered a new project on the world s largest open source software development platform and warehouse SourceForge, which implemented a powerful Eclipse plug-in. You can fully utilize Eclipse to develop and debug Python applications. The project that can use Eclipse as a Python IDE is PyDev. The appearance of the PyDev plug-in is convenient for many Python developers. It provides some good functions, such as: syntax error prompt, source code editing assistant, Quick Outline, Globals Browser, Hierarchy View, running and debugging, etc. Based on the Eclipse platform, it has many powerful functions and is also very easy to use. These features of PyDev have made it more and more people's attention.


Emacs: comes with python support, auto-completion, refactor and other functions need plug-in support

Emacs, a well-known integrated development environment and text editor. Emacs is recognized as one of the most popular code editors by professional programmers, and another vim. EMACS, the abbreviation of Editor MACroS (Editor Macro), was originally completed by Richard Stallman (Richard Matthew Stallman) in 1975 with Guy Steele at MIT. This idea is inspired by TECMAC and TMACS, which are macro text editors written by Guy Steele, Dave Moon, Richard Greenblatt, Charles Frankston and others. Since its birth, Emacs has evolved many branches, of which the two most widely used are: GNU Emacs initiated by Richard Stallman in 1984 and maintained by him to this day, and XEmacs initiated in 1991. XEmacs is a branch of GNU Emacs and still maintains considerable compatibility. Emac uses Emacs Lisp, a programming language with strong extensibility, so as to realize the expansion of functions including programming, compiling and even web browsing.


Vim: Python support can be added when compiling the latest version 7.3, providing automatic prompt support for python code

Vim is a well-known powerful and highly customizable text editor similar to Vi. It has improved and added many features on the basis of Vi. VIM is free software. Vim is generally regarded as the best one of the Vi-like editors. In fact, the real rival comes from different variants of Emacs. Emacs was selected as the winner of the Linuxworld text editing category in 1999, and Vim ranked second. But in February 2000, Vim won the Slashdot Beanie award for the best open source text editor and pushed Emacs to the second line. In general, both Vim and Emacs are excellent in text editing.

Visual Studio

Visual Studio 2003 + VisualPython: Only applicable to Windows, maintenance has been discontinued, and the function is poor


SlickEdit is a cross-platform (workable on 9 different work platforms), a code editor that supports more than 40 programming languages. Currently supports AIX, HP-UX, Linux 32-bit, Linux 64-bit, Mac OS X, Solaris SPARC, Solaris x86, windows 32-bit, windows 64-bit these operating systems. New features of the new version of SlickEdit 2011: support 64-bit windows and linux operating systems, support git version control system, support VS 2010, JUnit, multi-threading, support Ruby language debugging, dynamic debugging, SlickEdit 2012 new Android SDK Projects


TextMate is a well-known text editor software under Mac. Together with BBedit, it is called emacs and vim on Mac. Especially suitable for programmers to use, you can customize many intimate functions. The Bundles of TextMate are a highlight of TextMate, which can effectively improve the development speed. Rails core developers, including DHH, have always used TextMate for development. The reason is that they are mainly using the Mac OS system, and TextMate has an excellent interface, powerful macro definitions, and downloadable and editable macro definition packages (bundles ), these all help developers to maximize coding efficiency.

Netbeans IDE

NetBeans IDE is an open source integrated development environment, available for Windows, Mac, Linux and Solaris. In addition to fully supporting all Java platforms (Java SE, Java EE, Java ME and JavaFX), NetBeans 6.5 is also an ideal tool for PHP, Ajax and JavaScript, Groovy and Grails, Ruby and Ruby on Rails, and C/C++ software development.


Sublime Text is a code editor (Sublime Text 2 is a paid software, but it can be tried indefinitely), and it is also an advanced text editor for HTML and prose. Sublime Text was developed by programmer Jon Skinner in January 2008. It was originally designed as a Vim with rich extensions. Sublime Text has a beautiful user interface and powerful features, such as code thumbnails, Python plug-ins, code snippets, etc. You can also customize key bindings, menus and toolbars. The main functions of Sublime Text include: spell check, bookmarks, complete Python API, Goto function, instant project switching, multiple selection, multiple windows and so on. Sublime Text is a cross-platform editor that supports Windows, Linux, Mac OS X and other operating systems.


IPython is a python interactive shell, which is much easier to use than the default python shell. It supports automatic variable completion, automatic indentation, supports bash shell commands, and has many useful functions and functions built-in. IPython is open source based on BSD. IPython provides a rich architecture for interactive computing, including: powerful interactive shell, Jupyter kernel, interactive data visualization tools, flexible, embeddable interpreter, easy-to-use, high-performance parallel computing tools.


Concluding remarks

In addition, general programmer text editor software such as Notepad++, EditPlus, UltraEdit, etc. can also provide certain support for Python code editing, such as automatic code coloring, comment shortcuts, etc. Various development tools provide us with rapid development. For convenience, everyone can choose according to their own habits and preferences. In short, more tools are for us. You can choose tools for rapid project development according to your own work and habits.

If it feels good, give me a like! Thanks for reading!