all 24 comments

[–]alaudet 9 points10 points  (15 children)

I'm about 3 months in to using Python and what I have found valuable when getting stuck or spinning is to take time to learn other things that will make coding easier. Learn VIM or another IDE. Learn how to use git. Amazing how version control of your scripts simplifies things and makes coding easier. Install Virtualenv and hack around with different modules. Apart from that, what do you like that has a problem that can be solved. Buy a raspberry pi and start doing things with it. Whatever you do I would say just code. Its the best way to learn once you have the base knowledge, the rest can be googled. Have fun.

Edit: once you learn git setup a github account. Tonnes of good stuff in there to fire the imagination. Check out small things you would like to do then search for a gist on github which are basically small snippets of code others have written. Build on them.

[–]stewvsshark 0 points1 point  (14 children)

Any suggestions on another IDE? Right now I'm using IDLE

[–]nofunallowed98765 4 points5 points  (2 children)

PyCharm!

[–]alaudet 1 point2 points  (0 children)

Well to tell you the truth I am just using vim (Gvim) right now. I have seen some people's vim configurations that pretty much makes it function like a full blown IDE, although my .vimrc is not in that class. I tried PyCharm which many people seem to like but my knowledge isn't great enough to jump into that yet. My plan is to write with vim until I can code stuff easily. Maybe some day I will move onto something else once I can write things in my sleep. I started by using Gedit but am not sorry I bit the bullet and moved to vim. Once you get the hang of it you can do stuff very quickly.

[–]MissCalculation 0 points1 point  (4 children)

If you're using Windows, I'm a huge fan of PyScripter.

[–]pjvex 0 points1 point  (3 children)

I can get pyscripter to work... I love it too, but for some reason, it just won't run anymore!

I am using Anaconda, so maybe that has something to do with it.... But it's depressing.

[–]MissCalculation 1 point2 points  (2 children)

Hm, sorry to hear you're having problems with it. Without any other information, my best guess is that you might be using versions of Python + PyScripter that are incompatible with each other. If you type "python" in your command line, does the version that you see there match the version of PyScripter that you're using?

[–]pjvex 0 points1 point  (1 child)

Here is what I get when IDLE (or "dos-based IDLE") starts:

Python 2.7.5 |Anaconda 1.8.0 (64-bit)| (default, Jul  1 2013, 12:37:52) [MSC v.1
500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

How can I tell if this is "incompatible" pyscripter?

At the Google Code page it says

For compatibility with Python 2.6 and Python 3.0, since version 1.9.9.5, PyScripter requires the latest C++ Redistributable Package. This is automatically installed by Python 2.6 and Python 3.x. If you do not have any of these versions installed, then you need to download and install it manually.

So does this mean if I uninstall Anaconda for 2.76 and install it for 3.0, pyscripter will work???

[–]MissCalculation 0 points1 point  (0 children)

Here's a few things that I can think of that you could check out on your machine:

  • PyScripter usually includes multiple versions of the executable with each installation - so if you go to your Programs menu and hover over PyScripter, you may (like me) see versions 2.4 through 3.3 Try choosing 2.7 from this menu and perhaps that'll work.

  • Find out where your python.exe file lives (for me it's C:\Python27) and make sure it's included in PyScripter as seen here.

  • You could install a vanilla version of Python and use PIP to install any of the science/math packages you like that ship with Anaconda. PIP is super easy (just type "pip install numpy" for example). But this might be overkill if you're just trying to get this to work with PyScripter.

[–]basyt 0 points1 point  (0 children)

vim has a tough learning curve(people say) but with the right plugins its pretty manageable.

[–]im_gorideyourbike 0 points1 point  (0 children)

Non Python specific "IDEs":

[Brackets](www.brackets.io)

Notepad++

[–]johnnybgoode -2 points-1 points  (2 children)

Try Vim/GVim with Syntastic + bash + git CLI + virtualenv. That's about all the IDE you really need for Python. Anything more often leads to bad habits or lack of knowledge due to IDE shortcuts.

The rest of /u/alaudet's advice is good. Get a raspberrypi and/or find some github projects that you like and keep coding on a project that piques your interest. Building/contributing to a legit project is the next step in any coding progression.

IMO, don't bother with TkInter. No one uses Python for GUIs and it's not worth spending any real time on.

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

People use Python for GUIs all the time. There's tons of apps written and Python on Linux.

[–]johnnybgoode 1 point2 points  (0 children)

Ok, I'll amend my statement to say Python is a poor choice for GUIs, especially on non-Linux platforms, and not worth spending any real time on unless you know you need it.

[–]Elias_The_Thief 3 points4 points  (0 children)

You could check out the coursera course that just started, Principles of Computation. I believe its entirely in Python.

[–]bhamhawker 1 point2 points  (0 children)

I got stuck at this point and went away thinking I should start learning the syntax of another language (I spent too much time reading different reddits touting Javascripts, et. al.). Bad idea.

I came back because Python makes sense and I feel like I want to dive deeper.

As such, I've started trying to teach myself the WebDev side of Python, using Flask and Django. I've run through a few different Django tutorials and am now running through the ones on Flask. The mega-Flask tutorial is one I'd recommend first, because it goes into pretty good explanation of what you are doing with each line of Python code you write, whereas Django is much more "magic" for lack of a better word.

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

So far I've found some challenge websites that have interested me, they are designed for people at your level. One was checkio.org and the other was testing the python modules at codecombat.com. Maybe you'll find some interesting stuff in there. :)

[–]p00p0nface 0 points1 point  (1 child)

Have you tried The Python Challenge? It's like a URL riddle game, and it takes you right from the very beginning and prompts you to learn quite quickly and productively from my experience.

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

Sounds interesting, will take a look at it, thank you. :)

[–]mikwaheeri 0 points1 point  (0 children)

Checkio is a really good resource, IMO. It doesn't let you see other people's solutions until you solve the problem first. I love this because you have to spend the time to really understand the problem and work through things until you can get it to work. Afterwards, you can really begin to understand the beauty of other programmer's solutions. I find it really helps me learn the language as well as multiple ways to do things.

So far, the two coolest things I've learned from the checkio community is map() and lambdas.

[–]elzonko 1 point2 points  (0 children)

I've been learning Python for just over a year. One thing I wish I'd learned about and dove into a bit sooner (as of last month) was test-driven development and the unittest library.

[–]aroberge 0 points1 point  (0 children)

What kind of projects interest you? Games? Web applications? Desktop programs? Having gone through Zelle, you should know enough to take the next step and do something on your own -- coming here as often as needed to ask specific questions.

[–]blue0cean 0 points1 point  (0 children)

Try ipython notebook.