3

I guess I am having a hard time understanding what is needed to start web development with Python. I am new to both web development and Python and I am having a hard time figuring out what really is needed for a "Python Development Environment. I have heard that I should use virtualenv for all my developing. Others say a good IDE. Some day a VM with all the tools you need. It all is a bit overwhelming.

So from a Python developer standpoint. I ask what is the way to start. What do I need? What don't I need? Should I just get a good IDE or use a VM.

  • Thank you for all that replied. This has been a fantastic help to me to get more perspective on this. I agree with @mdscruggs. The whole virutalenv things was confusing to me. – user2495187 Aug 15 '13 at 21:16
  • Based on that was suggested I think I will start out with a plane ol' text editor and go from there. a IDE maybe to much of a leap for someone starting out. Thanks Thank you everyone else. – user2495187 Aug 15 '13 at 21:19

6 Answers6

0

See What IDE to use for Python? for help on choosing an IDE.

Aptana Studio has great support for web development and PyDev, right out of the box.

I agree that it can be overwhelming. My advice is to take it slowly and just get a nice, simple IDE and learn basic Python before jumping to virtualenv for everything (you'll get frustrated and quit).

Community
  • 1
  • 1
mdscruggs
  • 1,182
  • 7
  • 15
0

Solid editors like Notepad++ are a good start - you don't necessarily need an IDE. Take a look at the list here and see if you can find something you like.

Surveon
  • 729
  • 5
  • 12
0

The answer to this question would be pretty subjective, but lets try.

Minimal requirements

  1. Knowledge about Python (basics, idioms, language characteristics),
  2. Some server solution (if you want to put it live; otherwise local development is possible without web server),

At that point you are already able to code. You can write your code in even the simplest text editor, so no need for an IDE.

Good to have

  1. Good IDE with autocompletion and inspections (I recommend PyCharm, but any decent one would do),
  2. Knowledge about how to install Python modules,

At that point you are more efficient with your coding and see some errors before you execute your code.

Best practices (not necessarily all at once)

  1. Virtualenv,
  2. Vagrant,
  3. Configured web server ,atching the one that will serve your Python app,

At that point you should have clean and separate environments for every project. They should also resemble the target environment as much as possible.

List could probably be completed with more items, though.

Tadeck
  • 132,510
  • 28
  • 152
  • 198
0

You don't need an IDE but if you use one like Aptana Studio 3 it will make your job easier. Using virtualenv is advised in case you need to use different Python versions, but it's also optional. You may like to take a look at Learn Python The Hard Way (don't let the name scare you...) as a starter guide. For web development Django framework is powerful and simple.

Rodrigo Guedes
  • 1,169
  • 2
  • 13
  • 27
0

For a python IDE I can make a recommendation.

My university used Wing IDE 101 (the free version) to teach introductory python.

https://wingware.com/

It uses X11 so it might look ugly, but it did the job for me when I first learned the language.

If you are using windows and you want something simple I also recommend Notepad++.

Joohwan
  • 2,374
  • 1
  • 19
  • 30
0

Personnaly, I'm using Sublime Text 3 for my own personnal development and PyDev plugin for Eclipse at work. Both have advantages and some bad points, so you have to try many IDE/editors before taking the final decision. There's also PyCharm which is great but you'll have to pays a license after 30 days :-( (ST3 doesn't need a license, it's a unlimited trial with no restriction)

ST3 is light, has a beautiful autocompletion and a lot of useful snippets. In the other hand, Eclipse has an excellent debugger and many perspectives to manage SVN repo and SQL database for example.

As other answers says, you should also look at some utils like virtualenv, to make isolated environnment for each projects and Gunicorn for running your web application in production.

Maxime Lorant
  • 34,607
  • 19
  • 87
  • 97