IDE, the full name is integrated development environment, translation is the integrated development environment. Python's development began in May 2010, and unconsciously, it is now the seventh year.
In the past six years, the most commonly used IDE is ERIC6 (5.x version), but also tried the well-known pycharm, Wingide and Eclipse (+pydev plugin), some of the experience. Today, focus on ERIC6 and Pycharm 2016.3 for a simple evaluation.
Yan Value
ERIC6 is based on the development of PYQT, the program runs even with only a bat file to invoke, the interface is relatively slightly ugly. Pycharm based on Java development, the theme is very beautiful, the style is more unified. In the color of this point, is undoubtedly pycharm win.
Incidentally Wingide, although it also brings a lot of themes, but the whole window of some parts are not subject to control. For a chestnut, when you choose a dark theme, the lower left corner of the window tends to have a white control, which is dazzling.
Speed and memory overhead
From start to open a project, willing to pinch the stopwatch test the several IDE, the data is as follows:
- The slowest is pycharm, which takes about 18-20 seconds on average. Even if the plug-in kill only two left, then the XMS and Xmx parameters appropriate adjustment, run the fastest result is 16 seconds 5;
- Eric averaged only 11 seconds;
- The fastest is wingide, only 7 seconds;
Memory overhead, Pycharm is a big, easily eat your 300-400MB memory. Children's shoes with small memory should be careful!
UI and Resource compilation
The UI and resource files are inevitably adjusted during the development process, so the IDE naturally needs to integrate the compilation of these two items.
ERIC6 is a native support UI and resource file compilation, and its developers have long thought we need this feature.
Pycharm, as a professional Python IDE, is undoubtedly somewhat inadequate in this regard. To implement UI and resource compilation, you must manually add them to the external tool settings (please ask your own mother), although the set up and Eric6 than the difference, but always developers owe consideration.
But pycharm the design of this external tool is commendable, you can directly integrate the packaging command (I usually use cx_freeze), so it is much more convenient.
Smart Indent
In Python syntax, indentation is a very important item. In the development process, if the indentation can be more intelligent, natural writing code will be faster.
In this respect, the best thing to do is Eric6. Its bull x is that no matter where your cursor keys are, as long as you press the TAB key, the program chooses the appropriate indent position based on the code above.
The Pycharm also has similar designs. Its smart indentation operation in English called Emacs Indent (it is recommended to set the shortcut key tab to it), the Chinese language in China inexplicably translated into a "macro tab", this must be the layman's work.
But Emacs indent is a little bit weak when it comes to handling the entire block, and when we move the whole piece of code forward, we can only use another operation called "Indent content", and Eric6 as long as a tab key is sufficient.
Font Scaling
Although we can set a specific font size for the IDE's editor in the settings, it is unavoidable to scale the font appropriately in the actual development. Especially the big screen, the font properly enlarged some, the eyes are not so suffering.
Font scaling is available for all two Ides. Only, ERIC6 is already set up the shortcut key (with ctrl+=/-, or CTRL + scroll wheel), and in Pycharm, you have to manually set this shortcut key.
This round, counted as a tie.
Auto-fill spaces
PEP8 's specification requires a space after the comma, the operation symbol, and so on, Eric does a good job, after you enter a comma, it will automatically fill you a space, and pycharm obviously not considered so thoughtful. You have to manually knock the blanks, or save to the end using the reformat file function to correct.
Code Auto-completion and code normalization
Two of the IDE's code auto-completion is very good. Hard to pick out a better one, I will vote for Pycharm, it seems that the level of intelligence (I can not give a more accurate evaluation, suggest self-experience) higher.
Pycharm, in addition to auto-completion, will check your code in a similar way to spell checking, and when you enter code that does not conform to a specification such as PEP8, Pycharm will prompt and mark that part of the code as appropriate. This feature is really sweet, and I have reason to believe that using Pycharm will help us to write code more standardized.
In addition, Pycharm will also check the variables used in the current method, and when there are non-use of variables, inconsistencies, input errors and other situations, Pycharm will also be marked out, let you at a glance.
Version Control
Version control is also available as a standard IDE! ERIC6 and Pycharm have version control module, but willing to think, pycharm in this piece to do more fine, and gibhub combine very well, willing to use very much while hand.
database connections, viewing
This feature can only be considered optional. The two IDE has the ability to browse the contents of a database, and it is convenient that we do not have to open a dedicated database management tool (such as SQLite's SQLite Expert, PostgreSQL pg Admin, MySQL, phpMyAdmin, etc.), directly within the IDE to view.
Eric6 comes with a built-in SQL browser, the interface is relatively simple, and each time the opening must be reset, not convenient.
Pycharm is a database Tools and SQL plug-in to enable the connection and view of the databases, to temporarily view the data is enough.
Bookmark
During the development process, we often need to switch between the different locations in a document, and the bookmark function will bring us great convenience.
Two IDE bookmarks, pycharm do a little better, its bookmarks will not be removed because you quit the program. ERIC6 will clear your bookmarks every time you exit the program.
TODO
Willing to heap code at the time, think of some of the next step to improve the functionality of such things, often in the document inserted a line, the beginning of the "# Todo," and then put the idea in writing. This way, you will be able to refine the software you have developed in the future based on TODO tags and content.
The two IDE supports the TODO feature, which collects all of the TODO content that you have on each line of the current project for you to view at any time. Just on the perfection of the function, there is a slight gap:
- Pycharm when you enter "# TODO," The line is highlighted, so that it becomes very eye-catching, Eric6 default is not "# Todo," to highlight the processing;
- Pycharm Todo support case, Eric6 default only support capitalization, to support different formats, need to set separately;
By contrast, Pycharm won by a narrow margin.
Help Documentation
Eric6 comes with a WebKit kernel help browser, when you set the path of the help documents such as PYTHON/PYQT/PYSIDE/QT, you can click the links in the Help menu directly, ERIC6 will call the Help browser to display these documents.
Pycharm Although there is an external document settings and the corresponding menu commands, but the function is too weak than, should be a good perfect is.
In addition, although Pycharm provides a search everywhere "powerful" function, but because the results matching often can not be satisfactory, making this function like chicken ribs.
Conclusion
Through the above comparison and analysis, I believe that everyone will come to their own answers. Simply say the idea of willing:
- If you are a Yan control, please choose Pycharm;
- If your computer configuration is slightly lower (especially memory), run Pycharm feel slow, card, please choose ERIC6;
- Most features, these two Ides are similar. Willing to the most mind is, pycharm can not even after the comma can not automatically fill the space, I hope that developers in the subsequent version of the further improvement;
- As for many children's shoes that are still using non-IDES (such as Vim, Emacs, sublime text, etc.), the suggestion is that the IDE will make your development more efficient. It seems that you can do most of the work with these editors, but don't forget, you've been Dickens to get rid of all kinds of plug-ins at the same time, the IDE on these features are already very mature, why do you build wheels?
This article copyright to willing to learn all, welcome reprint, reproduced please indicate the author and source. Thank you!
Willing
Starting: Willing Sina Blog
Python mainstream IDE comparison: Eric VS. Pycharm