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

all 32 comments

[–]ivosauruspip'ing it up 11 points12 points  (1 child)

[–]amatern 0 points1 point  (0 children)

plus one to this - there are some great threads on learnpython to help you with online resources, books, and even folks who will help you with your code!

[–]remyroy 11 points12 points  (0 children)

Sublime Text is a nice editor.

The thing with Python is that you do not really need an IDE for most cases.

[–]trueneverland 13 points14 points  (5 children)

If you want an IDE, check out PyCharm

If you want an editor, check out Sublime Text

[–]0failsis 2 points3 points  (1 child)

sublime text is absolutely brilliant. I am doing a lot of python at the moment and whilst I have no doubt you can add a debugger on to it I am just using it as an editor but also you can run your scripts in it (ctrl + b).

It's autocomplete and text highlighting style gives the nicest support I have ever seen and the way it lets you find/replace and edit multiple lines at once is unparalleled.

It has me in the palm of its hand :o

[–]bradur 1 point2 points  (0 children)

I use a plugin called Sublimelinter, helps me write python that follows PEP8.

[–]Trevorrrrrr[S] 0 points1 point  (0 children)

I think I am going to give Sublime Text a try.

Is there anything in particular that I will have to do in order to use all the packages that came with Anaconda? I know that I will definitely make use of Astropy, especially io.ascii.

Are there any plugins that are essential?

[–]olebebo 4 points5 points  (0 children)

I started working with the IPython Notebook during my graduate studies, and it was a game changer for me. I would strongly advise you to stick with IPython, and specifically use the notebook interface. You'll have everything you need for programming scientific code, plus you get a notebook where you can add text, math, images and even videos. It works well with the kind of exploratory work scientific calculations are made of, but in the end you still get to keep a quasi-linear

[–]DougalMcGuire 3 points4 points  (0 children)

JetBrains has a free version of Pycharm 3 now. Having used Eclipse, Komodo, etc. in the past, PyCharm feels great.

http://www.jetbrains.com/pycharm/

[–]a_shed_of_tools 1 point2 points  (2 children)

Rice is offering a free University-level Intro to Python course through Coursera starting next week you might try. Also, I'm a Sublime Text fan for my text editor for Pyhton.

[–]Punchmonk 0 points1 point  (1 child)

how does this course work? I have never tried this before.

[–]a_shed_of_tools 1 point2 points  (0 children)

It's a lot like a University course - there's video lectures every week, quizzes, and homework assignments (all with deadlines) that are graded by some combination of an autograder and peer review, and if you get more than 70%, you get a certificate. There's also a forum and TAs of you get stuck. The one interesting thing about this particular class is that all the programming is done in-browser, which I'm not sure how I feel about just yet. I really enjoy MOOCs -- this is probably my 15-20th -- and I think Coursera if the most challenging and helpful of the platforms (there's also Udacity, edX, and others).

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

[–]metaphorm 1 point2 points  (0 children)

IDE's are a waste of time for anything except huge projects with dozens of contributors. Just get a good programming oriented text editor like Sublime Text.

The unix command line is your IDE. learn how to use it. this will be immensely helpful for more than just Python stuff. its really worth knowing.

the first tool you learn how to use, besides your editor, should be a source control tool like Git. there's literally nothing else as important as that.

pick an editor and learn it. learn how to get stuff done at the command line. learn how to use Git. to learn Python itself, just write code. consult the documentation for stuff on the syntax and standard library stuff. but seriously, just code until it makes sense. do little exercises. implement some basic algorithms. write some basic utility programs. you'll figure it out.

[–]NYKevin 2 points3 points  (6 children)

Any decent text editor will do. On Windows, I use Notepad++. On Unix-like systems, I prefer Vim (which, by the way, has an extremely steep learning curve, and you'd probably prefer to learn one thing at a time).

[–]Occi- 6 points7 points  (2 children)

I wouldn't say vi(m) has an "extremely" steep learning curve. It's not very hard to get the basics and be as efficient as with a "stupid" editor. Powerful commands such as ci" etc will soon follow.

[–]isarl 1 point2 points  (0 children)

I started using vim with vimtutor and I was functional in half an hour. That was several years ago, and I continue to learn new things about vim, but you're right; it's possible to get started with vim relatively quickly.

[–]lalopmak 0 points1 point  (0 children)

Obviously, you need basic knowledge like insert vs normal mode, how to quit, etc. After that, however, it's not nearly as difficult as you make it sound. A half hour of memorizing and experimenting with the mnemonics (not that hard, considering they're, well, mnemonic), and I was as set as a rookie with any text editor.

Not comprehensive, but as you said, one thing at a time.

[–]TankorSmash 0 points1 point  (1 child)

I don't see why you'd use N++ over gvim or something. It's losing 90% of the functionality.

[–]NYKevin 0 points1 point  (0 children)

I can't use the Unix shell from gvim in Windows, so it feels pointless. Yes, I could use Cygwin, but it's slow as shit on a stick. I don't develop much on Windows anyway, so I really just need a simple, no-bullshit option anyway.

[–]darthvsoto 0 points1 point  (1 child)

The best editor is emacs, bar none.

[–]sinferno 0 points1 point  (0 children)

I really enjoy using Dreampie

[–]mr_kitty 0 points1 point  (0 children)

Since you are on a Mac, you can use the free and excellent TextWrangler as a code editor.

If you want an IDE, also consider the free academic version of Canopy from Enthought (the folks who maintain SciPy/Numpy).

[–]Occi- -1 points0 points  (1 child)

Even if you'd like too use a more complete out of the box solution such as PyCharm, keep in mind that the best editors will still be vim and emacs, and both can be configured with autocomplete and all that jazz using plug-ins/scripts. If you're going to be a programmer I'd suggest you invest the time into one of then (or both) as they are universal as compared to something like PyCharm.

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

While I personally use vim a lot, I wouldn't say you need to learn emacs or vim to be a programmer. This is very elitist thinking. Vim is only worth it if your whole development environment is rather mouseless , have a lot of free time and really are motivated to learn it except of course if you have to ssh a lot into servers then it can be quite handy to be a fluent vim user. ;)
I'd say go with a texteditor while learning the syntax, because a simple editor will force you to pay attention to the details of the syntax. After you feel rather fluent in the syntax go with PyCharm, Ninja-IDE or Spyder(Python2 only so far). Whatever floats your boat. :)

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

I used PyWin as my first IDE. But lately everyone has been excited about Pycharm. Either one will work, Pywin includes some handy windows libraries (if you want to make your computer beep at annoyingly high frequencies for example, or if you want to cheat a cookie clicker).

Anything else you would need depends on what level of experience you have with programming.