[Tutor] Good Text Editor/IDE for Python
Cameron Simpson
cs at zip.com.au
Mon Sep 1 03:57:08 CEST 2014
On 01Sep2014 11:13, Steven D'Aprano <steve at pearwood.info> wrote:
>On Sun, Aug 31, 2014 at 09:12:24PM -0300, Juan Christian wrote:
>> I've been using PyCharm to code in Python but it seems a bit "overpowered"
>> for this task, and there are some annoying bugs. I used Sublime Text 2 in
>> the past, but it seems to be dead now (last update was JUN/2013), so I
>> don't really know any good options.
>>
>> What do you guys use to code?
[...]
>You don't say what operating system you're using. I use Linux, and as
>far as I am concerned, the best IDE for Linux is Linux itself: [...]
>
>http://blog.sanctum.geek.nz/series/unix-as-ide/
>http://michaelochurch.wordpress.com/2013/01/09/ide-culture-vs-unix-philosophy/
I'm mostly on OSX, but of course that is a UNIX platform as well:-) So my IDE
is somewhat like Steven's. BTW, there are many many discussions in the
python-list archives on the various development environments people use.
>My IDE is:
>
>- A good programmer's editor, ideally one that supports a tabbed
> interface. I normally use kate (from KDE 3, not KDE 4) or geany, or
> at a pinch kwrite although it's not tabbed.
I'm a vim user, and use it for everything (email, programming, any other plain
text editing). I've been using vi since, um, maybe 1985, and my fingers know
it. Of course, I use emacs editing keystrokes (a very limited subset of it,
anyway) in interactive shells, including the Python interactive prompt; it is
better in that scenario for me because it is modeless - vi is modal, which I
find a win for coding.
I don't use tabs or subwindows/panes in the editor. I do use tabs in the
terminal (and my editor runs in a pane in my terminal).
>- A web browser, for looking up documentation and doing web searches.
Me too. And I find it very useful to have local copies of the Python doco on my
desktop; accessing a local copy is really fast and also works when offline. I
keep a local copy of the latest Python 2 and Python 3 doco to hand. This does
rely on the doco having a good page size choice; I like a "page" to be a
chapter. The Python doco does this well, a "page" per module. By contrast, the
PostgreSQL doco is extremely finely sliced and very irritating to browse.
I use tabs heavily in the web browser.
>- A good tabbed terminal application. Konsole from KDE is my
> preferred choice, but just about any one will do.
On OSX the winning choice is iTerm2; I use it exclusively. Tabs and also
subpanes. It has many good features.
>In the terminal, I'll open anything up to half a dozen tabs. One for
>running source control (git or hg) and other utilities, another for
>running the application I'm writing and performing tests, and at least
>one interactive Python session for trying out small snippets and looking
>up interactive help.
I use a tab per dev environment. (So a tab for my main project, and I use
another tab for whichever of its branches I'm working in.)
Within each tab I usually split the tab into 3 vertical panes: an editor in the
middle )terminal running vim, for me) and a shell on either side. I open python
interactive prompts at need as opposed to Steven's always-open instance. On
occasions I split the vertical panes horizontally when I need an extra terminal
for something short term.
>Just recently, I've customised my interactive Python with a powerful set
>of tab completion commands, similar to that provided by IPython. While
>typing, if I hit tab, it will try to complete the current variable,
>function, module or file name. I don't know how I programmed without it
>all these years :-)
I must try that sometime.
Cheers,
Cameron Simpson <cs at zip.com.au>
Baldrick: Sir, what shall we do if we stand on a mine?
Edmund: Well, Baldrick - I think the common practice is to jump several metres
into the air, and scatter yourself in a wide radius on the way down.
- _Blackadder_
More information about the Tutor
mailing list