We currently run a small shared hosting service for a couple of hundred small PHP sites on our servers.  We'd like to offer Python support too, but from our initial research at least, a server restart seems to be required after each source code change.
Is this really the case?  If so, we're just not going to be able to offer Python hosting support.  Giving our clients the ability to upload files is easy, but we can't have them restart the (shared) server process!
PHP is easy -- you upload a new version of a file, the new version is run.
I've a lot of respect for the Python language and community, so find it hard to believe that it really requires such a crazy process to update a site's code.  Please tell me I'm wrong! :-)
Python is a compiled language; the compiled byte code is cached by the Python process for later use, to improve performance. PHP, by default, is interpreted. It's a tradeoff between usability and speed.
If you're using a standard WSGI module, such as Apache's mod_wsgi, then you don't have to restart the server -- just touch the .wsgi file and the code will be reloaded. If you're using some weird server which doesn't support WSGI, you're sort of on your own usability-wise.
Python web hosting: Why are server restarts necessary?