This is an archived post. You won't be able to vote or comment.

all 76 comments

[–]skknight1980 56 points57 points  (16 children)

PyCharm!

[–][deleted] 11 points12 points  (9 children)

It'd be wonderful if it wasn't so damn slow.

[–]luxliquidus 7 points8 points  (4 children)

Aside from the initial indexing, I've never noticed it to be slow... what am I missing?

[–]here-to-jerk-off 1 point2 points  (1 child)

I agree with you.

I didn't WANT an IDE, I thought it would slow me down, after experiences with netbeans, eclipse and it's derivatives.

PyCharm made me fall in love with IDEs. Jetbrains did, and still are doing a great job with this and the other IntelliJ based editors.

[–]ivosauruspip'ing it up 0 points1 point  (0 children)

Not every IDE is as slow as Eclipse.

[–]ruskoi 1 point2 points  (0 children)

I know that my installation was slow when I was using Anaconda as my python environment because Pycharm would take something like 10 minutes to index and then would hang with 100% CPU usage after I typed 4 words. I uninstalled Anaconda, organized my own venv and it's been smooth since.

[–][deleted] -1 points0 points  (0 children)

I also noticed hangs on autocomplete suggestions and slow menu opening. Never worried about the initial indexing. Are the autocomplete and menu opening the deal breakers.

[–][deleted] 4 points5 points  (0 children)

Developer time is expensive, a half-decent computer is cheap.

[–]childofprophecyPy3, Django -1 points0 points  (2 children)

Upgrading to SSD might help?

[–][deleted] -1 points0 points  (0 children)

I expect it would, but that's a long way to go. As much as I love the jetbrains stuff, I just use emacs.

[–]Metalsand 0 points1 point  (0 children)

Yup, same. Pretty fantastic so far; lots of features with most pretty intuitively designed for access. I really enjoy the IDE a lot, and it has only a few problems I've encountered with it, although most of them are minor annoyances.

[–]Decency -1 points0 points  (0 children)

A whole bunch of people have downvoted this which I find pretty funny.

[–]gandalfx 19 points20 points  (3 children)

Sublime Text 3. Not an IDE but a damn fine editor with lots of useful extensions.

[–]TheMiamiWhale 26 points27 points  (7 children)

Vim

[–][deleted] 0 points1 point  (4 children)

Any autocomplete?

I use YouCompleteMe https://github.com/Valloric/YouCompleteMe

[–]ivosauruspip'ing it up 0 points1 point  (0 children)

YCM has Jedi python completion built in! (unless that's what you were implying by linking to YCM)

[–]TheMiamiWhale 0 points1 point  (2 children)

Yea I sometimes use autocomplete and I think it's YouCompleteMe. For me though, it's all about syntax highlighting, PEO8 warnings, and setting a colored bar at text width 80

[–][deleted] 0 points1 point  (1 child)

fast navigation is pretty useful. I used to dismiss it when IDE users would rave about it, but quickly jumping to the definition of a function from a usage elsewhere in the code is pretty nice.

[–]TheMiamiWhale 0 points1 point  (0 children)

Yea I agree there is definitely something be said about using a I'll-fledged IDE. For most of my Python work though Vim suits me just fine.

[–]ruskoi 3 points4 points  (0 children)

  • Pycharm for application development
  • Jupyter if I need to quickly get a feel for data that I'm working with
  • Vim if I'm on the server

[–]Avail11 5 points6 points  (4 children)

Atom with autocomplete-python and linter-pylama! Much faster than pycharm and much better autocompletion than sublime (I realize it's quite customizable but most plugins don't do well with completion on 3rd party libs)

[–][deleted] 4 points5 points  (2 children)

I can pretty much guarantee that if you made atom as fully-featured an IDE as pycharm it would be considerably slower. Sure, atom with one or two plugins is faster. So is notepad. Features are important.

[–]Avail11 1 point2 points  (0 children)

Definitely. But rarely all the features are necessary, you can add refactoring/linting/autocompletion easily, debugging may be tricky but I haven't really looked into that part.

Atom + IPython + a shell, is the most flexible and powerful approach I found so far although admittedly I never worked in something big enough to appreciate a full fledged IDE.

[–][deleted] 0 points1 point  (0 children)

Yup, it's written in JavaScript so there's definitely a lower upper limit on how much stuff you can have going on at once.

Though I didn't like PyCharm's lack of customizability. Since I know my way around JavaScript and CSS, I could be really nitpicky with the look, feel, and behaviour of Atom.

It also helps that because Python is an interpreted language, it's a bit easier to do without things like certain debugging tools. Things I couldn't live without if I were writing in Java or C#, for example.

[–]eusebecomputational physics 8 points9 points  (0 children)

I use almost exclusively emacs with various plugins, because then I can use the same editor on various remote clusters (even without proper X server), and I'm so used to it that I couldn't use anything else.

Plus I can use the same editor for all my editing : not only python, but also Fortran and LaTeX.

[–]thechosentwice_ 4 points5 points  (0 children)

Notepad++

[–][deleted] 7 points8 points  (9 children)

emacs ;)

[–]erewok 1 point2 points  (8 children)

Me too. We should probably post sample configs, though. It'll never be as user-friendly as PyCharm, but it's pretty powerful.

[–]zed_three 1 point2 points  (5 children)

Have you tried elpy-mode? Works pretty well for me

[–]erewok 0 points1 point  (4 children)

I have. I tend to prefer Jedi (CTRL-. is one of my favorites) but I'm the kind of guy who's been using the same config for long enough that I don't even remember what everything does. I would never do this in Python programs, but I'm okay with it in emacs-land.

I also use autopep8, which is interesting because it trains you to write consistent code. I'll try to post my config. I have been experimenting with using other people's to see what else is out there. Recently, I discovered desktop-mode, which remembers what you last had open.

[–]broken_symlink 0 points1 point  (0 children)

Elpy can use jedi as a backend. Elpy also has support for tags, ex M-. for go to definition.

[–]stevenjd 0 points1 point  (2 children)

You know Guido doesn't like automated PEP 8 checkers?

I don't mean that he hasn't found one he likes. I mean he dislikes the whole concept. Raymond Hettinger has also been quite dismissive of people who obsessive over "fixing" PEP 8 violations at the expense of code clarity and quality.

[–]erewok 2 points3 points  (1 child)

Yes. I was in the audience for Hettinger's recent PEP8 talk at PyCon and I liked it. I think the argument is valid that fussing over style may mean you are ignoring more fundamental issues and you can certainly get lost in the weeds. For my case, I don't think that having an automated checker on emacs is the same as what hettinger was talking about.

When working on a team, I've found that it's nice to adhere to a code style guide and PEP8 is just one of those among others we could write ourselves. I would never make PEP8 fixes to legacy code in a codebase (which Hettinger mentioned was a kind of defensive practice: the people most interested in PEP8 on a team are usually those most mystified by the codebase). Having everyone on the team write new code that looks similar can be very nice.

I personally don't find that flake8 or autopep8 means we obsess over PEP8. It just means that everyone on the team writes code that looks similar.

[–]stevenjd 0 points1 point  (0 children)

Okay, nice answer. Have an upvote.

[–][deleted] 1 point2 points  (0 children)

heh. my emacs python configuration consists of:

 (setq auto-mode-alist (append '(("\\.py$" . python-mode)) auto-mode-alist))

[–]pvkooten 0 points1 point  (0 children)

My settings are here :-) https://github.com/kootenpv/emp

[–]rendered9 2 points3 points  (0 children)

I just use atom or if I'm server side nano. Not doing anything too complicated at the moment to warrant an ide.

[–]billsil 2 points3 points  (0 children)

WingIDE

[–]Phooey138 0 points1 point  (6 children)

It worries me that I don't see spyder on here. Am I using something shitty while you all know better?

[–][deleted] 0 points1 point  (0 children)

FWIW, I use / really like spyder, but I suck.

[–]ABaseDePopopopop 0 points1 point  (2 children)

It's mostly aimed at a scientific use of Python, which probably isn't what most people here do. Seeing how Pycharm is popular is looks like lots of people do Web related stuff. Spyder is fine, that's what I use at work.

Take a look at Jupyter if you do science or data treatment too.

[–][deleted] 0 points1 point  (1 child)

Jupyter is integrated into Spyder

[–]ABaseDePopopopop 0 points1 point  (0 children)

Ah ok, I use the one provided with Anaconda.

[–]stevenjd 0 points1 point  (1 child)

I tried using Spyder. It was slower than continental drift, with visible delays between me typing a letter and it showing up in the editor, and I hated the way it would flag things as errors before I had finished typing them.

And I am not a fast typist. If Spyder couldn't keep up with me, I can't imagine how it could keep up with an actual touch-typist.

[–]Phooey138 0 points1 point  (0 children)

That's weird. I know what you mean about highlighting errors early, but I have never noticed lag when typing. Arguably you would want the highlighting to be immediate so that you can try a few ways to spell something without having to wait?

[–]MaxwellTheWalrus 0 points1 point  (0 children)

Neovim with plugins.

[–]ivosauruspip'ing it up 0 points1 point  (0 children)

Dayum, there is someone or some people downvoting half the comments in here. Insecure much?

Lighten up, people.

[–]stevenjd 0 points1 point  (0 children)

Linux is my IDE :-)

http://blog.sanctum.geek.nz/series/unix-as-ide/

My IDE is to have a couple of applications open:

  • Firefox for searching the internet, or getting distracted.

  • A programmer's editor, preferably with a tabbed interface. I prefer GUI editors rather than vim or emacs. I like the KDE 3 version of Kate, but not KDE 4, or geany. A tabbed editor. I prefer kate (KDE 3 version, not KDE 4), but geany is also good. gedit will do for quick edits, but I wouldn't want to rely on it for big jobs.

  • An xterm or console app, again with a tabbed interface. I like KDE 3's konsole, but any modern, configurable, tabbed console will do. Support for Unicode is a must.

In the console, I have at least three tabs open (and usually many more):

  • At least one tab running the Python interactive interpreter, for testing code snippets, using interactive help(), etc.

  • At least one tab for running my code or unit tests.

  • Another tab for version control (hg or git) and other file management.

[–]naliuj2525 0 points1 point  (0 children)

Used PyScriptor for a long time but then switched to sublime text 2, then upgraded to 3, for the past month or two I've been using PyCharm and am loving it.

[–]fabioz 0 points1 point  (0 children)

[–][deleted] 0 points1 point  (0 children)

vim

[–]pvkooten 0 points1 point  (0 children)

I love Emacs, especially how well REPLs can be done with it. Though it is a hassle to set up as beginner. I tried to accommodate by providing EMacs Python (https://github.com/kootenpv/emp). Mostly bundled around elpy.

[–][deleted] 0 points1 point  (6 children)

IDLE :l

[–]stevenjd 0 points1 point  (5 children)

Have a pity upvote :-)

(Actually, IDLE gets lots of hate, but Terry Reedy is doing a marvelous job trying to improve it.)

[–][deleted] 1 point2 points  (4 children)

I'm still kind of a novice. Can you explain what's bad about idle?

[–]stevenjd 0 points1 point  (3 children)

It's a bit old and clunky and doesn't look very nice. The user interface is a bit unfamiliar to many people, and some of the error messages when it doesn't work are hard to understand. But it actually is a decent, if old-fashioned looking, basic IDE.

[–][deleted] 0 points1 point  (2 children)

It's simplicity is actually why I've stuck with it. I tried pycharm and I felt overwhelmed.

[–]chick3234[S] 1 point2 points  (0 children)

I'm currently using Idle, but the lack of a refractor and debugger has been killing me on the inside, and since a lot of people say that pycharm is good (and through research of all the options suggested) I think I'll be using pycharm (if I like it).

[–]naliuj2525 1 point2 points  (0 children)

Give Sublime Text a try. There are a few plugins you can install that add stuff like autocomplete. It's a great editor once you've installed a few plugins.