This guide will introduce you to the PyCharm integrated development environment, which can be used to develop professional applications using the Python programming language. Python is a great programming language because it is truly cross-platform. It can be used to develop a single application which will run on Windows, Linux and Mac computers without having to recompile any code.
PyCharm is an editor and debugger developed by Jetbrains, who are the same people who developed Resharper. Resharper is a great tool used by Windows developers for refactoring code and to make their lives easier when writing .NET code. Many of the principles of Resharper have been added to the professional version of PyCharm.
How to Install PyCharm
UltraEdit is a powerful HTML and Code editor available for Mac, Windows, and Linux. It comes with a built-in file comparison utility, autocompletion, advanced layout, multi-tab, multi-pane editors, and syntax highlighting for the most popular programming languages. In this post we’ll present another powerful editor for Python development - Emacs. While it’s an indisputable fact that Emacs is the best editor, we’ll (try to) keep an open mind and present Emacs objectively, from a fresh installation to a complete Python IDE so that you can make an informed decision when choosing your go-to Python IDE. Home / Programming / CheatSheets / Best IDE for Python in 2018. Best IDE for Python in 2018. Do not need much in the means of specialist tools. It is okay to hammer out the code in a text editor, changes to a terminal, and then run it. And Git support is available through a plugin. Like Code, there is support for real-time cooperation on.
This guide to installing PyCharm will show you how to get PyCharm, download it, extract the files and run it.
The Welcome Screen
When you first run PyCharm or when you close a project you will be presented with a screen showing a list of recent projects.
You will also see the following menu options:
- Create New Project
- Open A Project
- Checkout From Version Control
There is also a configure settings option which lets you set up the default Python version and other such settings.
Creating A New Project
When you choose to create a new project you are provided with a list of possible project types as follows:
- Pure Python
- Django
- Flask
- Google App Engine
- Pyramid
- Web2Py
- Angular CLI
- AngularJS
- Foundation
- HTML5 Boilerplate
- React Starter Kit
- Twitter Bootstrap
- Web Starter Kit
If you want to create a base desktop application which will run on Windows, Linux and Mac then you can choose a Pure Python project and use QT libraries to develop graphical applications which look native to the operating system they are running on regardless as to where they were developed.
As well as choosing the project type you can also enter the name for your project, and also choose the version of Python to develop against.
Open a Project
You can open a project by clicking on the name within the recently opened projects list or you can click the Open button and navigate to the folder where the project you wish to open is located.
Checking out From Source Control
PyCharm provides the option to check out project code from various online resources including GitHub, CVS, Git, Mercurial, and Subversion.
The PyCharm IDE
The PyCharm IDE starts with a menu at the top. Underneath this, you have tabs for each open project.
On the right side of the screen are debugging options for stepping through code.
The left pane has a list of project files and external libraries.
To add a file you right-click on the project name and choose New. You then get the option to add one of the following file types:
- File
- Directory
- Python Package
- Python File
- Jupyter Notebook
- HTML File
- Stylesheet
- JavaScript
- TypeScript
- CoffeeScript
- Gherkin
- Data Source
When you add a file, such as a python file, you can start typing into the editor in the right panel.
The text is all color coded and has bold text. A vertical line shows the indentation so you can be sure that you are tabbing correctly.
The editor also includes full IntelliSense, which means as you start typing the names of libraries or recognized commands you can complete the commands by pressing Tab.
Debugging the Application
You can debug your application at any point by using the debugging options in the top right corner.
If you are developing a graphical application, then you can simply press the green button to run the application. You can also press Shift+F10.
To debug the application you can either click the button next to the green arrow or press Shift+F9. You can place breakpoints in the code so that the program stops on a given line by clicking in the gray margin on the line at which you want to break.
To make a single step forward you can press F8, which steps over the code. This means it will run the code but it won't step into a function. To step into the function, you would press F7. If you are in a function and want to step out to the calling function, press Shift+F8.
While you're debugging, at the bottom of the screen you will see various windows, such as a list of processes and threads and variables that you are watching the values for. As you are stepping through the code you can add a watch to a variable so that you can see when the value changes.
Another great option is to run the code with coverage checker. The programming world has changed a lot over the years and now it is common for developers to perform test-driven development so that every change they make they can check to make sure they haven't broken another part of the system.
The coverage checker actually helps you to run the program, perform some tests and then when you have finished it will tell you how much of the code was covered as a percentage during your test run.
There is also a tool for showing the name of a method or class, how many times the items were called, and how long was spent in that particular piece of code.
Code Refactoring
A really powerful feature of PyCharm is the code refactoring option.
When you start to develop code little marks will appear in the right margin. If you type something which is likely to cause an error or just isn't well written then PyCharm will place a colored marker. Clicking on the colored marker will tell you the issue and will offer a solution.
For example, if you have an import statement which imports a library and then don't use anything from that library not only will the code turn gray the marker will state that the library is unused.
Other errors that will appear are for good coding, such as only having one blank line between an import statement and the start of a function. You will also be told when you have created a function that isn't in lowercase.
You don't have to abide by all of the PyCharm rules. Many of them are just good coding guidelines and are nothing to do with whether the code will run or not.
The code menu also has other refactoring options. For example, you can perform code cleanup and you can inspect a file or project for issues.
Summary
PyCharm is a great editor for developing Python code in Linux, and there are two versions available. The community version is for the casual developer, whereas the professional environment provides all the tools a developer could need for creating professional software.
Active1 year, 4 months ago
I'm about to start a new job where the coding practices are heavily centered around TDD and refactoring, and whose primary development language is Python. I come from the Java world, and have been a confident user of Eclipse for a good, long time. When not working in Java, I use emacs.
I'm looking for an IDE for Python that will give me a lot of the capabilities I've grown used to with Eclipse, not only for refactoring but in terms of code completion, project management, SCM integration (currently CVS, but likely to switch to git one of these days) et al.
What IDE should I use?
Dave Hillier10.4k88 gold badges3434 silver badges8181 bronze badges
Chris RChris R8,9462222 gold badges9191 silver badges157157 bronze badges
closed as off-topic by l4mpi, jb., Dismissile, Afzaal Ahmad Zeeshan, LarsTechMay 21 '14 at 14:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- 'Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – l4mpi, jb., Dismissile
22 Answers
Have tried many different (Kate, Eclipse, Scite, Vim, Komodo): each one have some glitches, either limited functions, or slow and unresponsive. Final choice after many years: Emacs + ropemacs + flymake. Rope project file open dialog is extremely quick. Rope refactoring and code assist functions are super helpful. Flymake shows syntax mistakes. Emacs is the most configurable editor. I am very happy with this config. Python related part of config is here: public.halogen-dg.com browser/alex-emacs-settings/configs/cfg_python.el
user111443user111443
My 2 pennies, check out PyCharmhttp://www.jetbrains.com/pycharm/
(also multi-platform)
TimTim1,64222 gold badges1313 silver badges1212 bronze badges
I use TextMate for all my Python programming needs. It's not an IDE per se, but it does a lot of stuff that an IDE does (without all the cruft of an IDE). It has syntax highlighting, code folding, integration with various SCMs through the use of additional bundles (I know it supports SVN, Git, Mercurial, Darcs, and probably a few others). It's also quite extensible and customizable (again, through the use of bundles). It also has a basic concept of projects. One place where it doesn't shine, though, is in code completion; some bundles have limited support for code completion, but it's generally not as amazing as that of most language-specific IDEs. Given how awesome TextMate is, though, I don't know sacrificing that. TextMate's definitely made me much more productive.
mipadimipadi304k7171 gold badges471471 silver badges453453 bronze badges
Pydev for Eclipse, as others have mentioned, is good.
Netbeans has a beta Python plugin that is a little rough around the edges, but could turn into something really cool.
Additionally there is a long list of programming centric text editors for the mac, that may or may not fit your needs.
- Textmate - costs money, people love this program, but I haven't used it enough to see what all the fuss is about.
- Jedit - Java based text editor, has some nice features, but the startup time isn't great (due to Java).
- CarbonEmacs - Decent Emacs port.
- AquaEmacs - Better Emacs port.
- TextWrangler - Lite, free (as in beer) verision of BBEdit.
- BBEdit - The old guard. The defacto editor before Textmate stole its limelight. Expensive.
- Smultron - Very nice editor, the UI is similar to Textmate.
- Idle - Python's own little editor, has some nice features, but also some major problems. I've personally found it too unstable for my usage.
- Sublime Text - This is really sweet text editor that has some surprisingly good Python support.
- Pycharm - Another solid full on IDE for Python.
5,42766 gold badges5151 silver badges9191 bronze badges
James McMahonJames McMahon31.4k5858 gold badges177177 silver badges263263 bronze badges
Eclipse with Pydev works best for me on any platform.
ismailismail36.3k88 gold badges7272 silver badges8888 bronze badges
I really enjoy using PyCharm. http://www.jetbrains.com/pycharm/
jdsantiagojrjdsantiagojr
I usually use either komodo edit or aquamacs with ropemacs. Although I should warn you, IDE features won't be what you're used to if you're coming from a Java or C# background. I personally find that powerful IDEs get in my way more than they help.
UPDATE: I should also point out that if you have the money Komodo IDE is worth it. It's the paid version of Komodo Edit.
Jason BakerJason Baker112k112112 gold badges339339 silver badges493493 bronze badges
lostlogiclostlogic
I like Spyder, it has many tools, such as profiling, intelligent indentation helper and a good autocompletion support
linellolinello3,71488 gold badges5050 silver badges8686 bronze badges
If you have a budget for your IDE, you should give Wingware Professional a try, see wingware.com .
Alex MartelliAlex Martelli658k134134 gold badges10591059 silver badges12921292 bronze badges
Python Editor For Mac
I've used WingIDE and have been very happy. Intellisense is pretty good, some other things are a bit wacky but overall it's a very productive tool
jeanjean74611 gold badge55 silver badges1414 bronze badges
If you are looking for an interactive environment and not needing to code modules, I would suggest IPython. Though this is developed with scientists/statisticians in mind, it will run just as well without any of the scientific packages installed. The features are powerful, with code completion, integrated help, integrated debugging, etc., and it functions as a notebook with Markdown and MathJax integration. By far the best choice for those that need powerful features without wishing to load megabytes of GUI into RAM--since it is browser based, it is used in your always loaded chrome/safari instance. ;-)
DallasDallas44922 gold badges66 silver badges2121 bronze badges
Eclipse PyDev plugin.
jbaskojbasko5,08311 gold badge2626 silver badges4242 bronze badges
since you are familiar with Eclipse maybe you are interested in Pydev
KonstantinosKonstantinos8,73899 gold badges4343 silver badges5858 bronze badges
Python support on netbeans is surprisingly good, and comes with most of the features you're looking for.
Up.Up.
TextMate or Panic's Coda. NetBeans works very well, if you want a full-blown kitchen sink IDE.
Jeff OberJeff Ober
I've searched on Google for an app like this for a while, and I've found only options with heavy and ugly interfaces.
Code Editor For Mac
Then I opened Mac App Store and found CodeRunner. Very nice and clean interface. Support many languages like Python, Lua, Perl, Ruby, Javascript, etc. The price is U$10, but it's worth it!
Jan K. S.Jan K. S.1,33111 gold badge1111 silver badges1313 bronze badges
Free Python Editor For Windows
'Which editor/IDE for ..?' is a longstanding way to start a 'My dog is too prettier than yours!' slapfest. Nowadays most editors from
vim
upwards can be used, there are multiple good alternatives, and even IDEs that started as C or Java tools work pretty well with Python and other dynamic languages.That said, having tried a bunch of IDEs (Eclipse, NetBeans, XCode, Komodo, PyCharm, ..), I am a fan of ActiveState's Komodo IDE. I use it on Mac OS X primarily, though I've used it for years on Windows as well. The one license follows you to any platform.
Komodo is well-integrated with popular ActiveState builds of the languages themselves (esp. for Windows), works well with the fabulous (and Pythonic) Mercurial change management system (among others), and has good-to-excellent abilities for core tasks like code editing, syntax coloring, code completion, real-time syntax checking, and visual debugging. It is a little weak when it comes to pre-integrated refactoring and code-check tools (e.g. rope, pylint), but it is extensible and has a good facility for integrating external and custom tools.
Some of the things I like about Komodo go beyond the write-run-debug loop. ActiveState has long supported the development community (e.g. with free language builds, package repositories, a recipes site, ..), since before dynamic languages were the trend. The base Komodo Edit editor is free and open source, an extension of Mozilla's Firefox technologies. And Komodo is multi-lingual. I never end up doing just Python, just Perl, or just whatever. Komodo works with the core language (Python, Perl, Ruby, PHP, JavaScript) alongside supporting languages (XML, XSLT, SQL, X/HTML, CSS), non-dynamic languages (Java, C, etc.), and helpers (Makefiles, INI and config files, shell scripts, custom little languages, etc.) Others can do that too, but Komodo puts them all in once place, ready to go. It's a Swiss Army Knife for dynamic languages. (This is contra PyCharm, e.g., which is great itself, but I'd need like a half-dozen of JetBrains' individual IDEs to cover all the things I do).
Komodo IDE is by no means perfect, and editors/IDEs are the ultimate YMMV choice. But I am regularly delighted to use it, and every year I re-up my support subscription quite happily. Indeed, I just remembered! That's coming up this month. Credit card: Out. I have no commercial connection to ActiveState--just a happy customer.
Jonathan EuniceJonathan Eunice11.9k22 gold badges5151 silver badges6161 bronze badges
You might want to look into Eclim, an Eclipse server that allows you to use Eclipse functionality from within your favorite text editor. For python-related functionality, it uses Rope, PyFlakes, and PyLint under the hood.
mindthiefmindthief4,9491313 gold badges4646 silver badges5454 bronze badges
I've been using an Evaluation copy of
Sublime Text
. What's good is it doesn't really expire. It's been good so far and was really easy to get started with.
Sagar HatekarSagar Hatekar6,2251414 gold badges4949 silver badges7272 bronze badges
I may be a little late for this, but I would recommend Aptana Studio 3.x . Its a based on eclipse and has everything ready-to-go for
python
. It has very good support for DJango, HTML5 and JQuery
. For me its a perfect web-development tool. I do HTML5 and Android
development too, this way I do not need to keep switching different IDE's. It my all-in-one solution. Note: you need a good amount of RAM for this to be snazzy !! 4+ GB is awesome !!
Freakyuser1,7711515 gold badges4040 silver badges6565 bronze badges
NavNav
Visual Studio Code + Official Python Plugin
Here you see an overview of its current Python features:
Workspace customization: You can simply change the appearance design like window border color, customize the icon and text size. Border and Grommet dialog box: It is work on small scale projects such as logos, banner, and car wraps. Sketchup 2018 crack for mac. You can create a gap between the new object resulting from the splitting action. Get more Dockers: You can expand your collection of creative tools by downloading application plug-in and given extension in Corel Draw application.
Chocolat
EDIT:Apparently Chocolat was an interesting option in 2013 but since then many others came up and development stalled. Nowadays I recommend Visual Studio Code + Python Plugin.
BijanBijan20.1k55 gold badges6868 silver badges6464 bronze badges