Python web programming
What is the best setup for a development environment?
Doesn't much matter.  We use Django, which runs in Windows and Unix nicely.  For production, we use Apache in Red Hat.
Is having to reload webserver to see the changes considered normal?
Yes.  Not clear why you'd want anything different.  Web application software shouldn't be dynamic.  Content yes.  Software no.
In Django, we develop without using a web server of any kind on our desktop.  The Django "runserver" command reloads the application under most circumstances.  For development, this works great.  The times when it won't reload are when we've damaged things so badly that the app doesn't properly.
What is the best setup to deploy a working Python app to production and why?
"Best" is undefined in this context.  Therefore, please provide some qualification for "nest" (e.g., "fastest", "cheapest", "bluest")
Is it worth diving straight with a framework or to roll something simple of my own?
Don't waste time rolling your own.  We use Django because of the built-in admin page that we don't have to write or maintain.  Saves mountains of work.
How exactly are Python apps served if I have to reload httpd to see the changes?
Two methods:

Daemon - mod_wsgi or mod_fastcgi have a Python daemon process to which they connect.  Change your software.  Restart the daemon.
Embedded - mod_wsgi or mod_python have an embedded mode in which the Python interpreter is inside the mod, inside Apache.  You have to restart httpd to restart that embedded interpreter.

Do I need to look into using multi-threaded?
Yes and no.  Yes you do need to be aware of this.  No, you don't need to do very much.  Apache and mod_wsgi and Django should handle this for you.
Good morning.
As the title indicates, I've got some questions about using python for web development.

What is the best setup for a development environment, more specifically, what webserver to use, how to bind python with it. Preferably, I'd like it to be implementable in both, *nix and win environment.

My major concern when I last tried apache + mod_python + CherryPy was having to reload webserver to see the changes. Is it considered normal? For some reason cherrypy's autoreload didn't work at all.

What is the best setup to deploy a working Python app to production and why? I'm now using lighttpd for my PHP web apps, but how would it do for python compared to nginx for example?
Is it worth diving straight with a framework or to roll something simple of my own? I see that Django has got quite a lot of fans, but I'm thinking it would be overkill for my needs, so I've started looking into CherryPy.
How exactly are Python apps served if I have to reload httpd to see the changes? Something like a permanent process spawning child processes, with all the major file includes happening on server start and then just lazy loading needed resources?
Python supports multithreading, do I need to look into using that for a benefit when developing web apps? What would be that benefit and in what situations?

Big thanks!