[B]Is Python impractical for web development?
[/B]By itself, compared to PHP it would be highly impractical.
On a higher lever, with a framework like Django, it's extremley practical. I come from a PHP background and I can say I haven't really looked back, but there are some drawbacks (some of which you mention)
1) Hard for beginners
I'm self taught, and I've found the documentation and tutorials available for python are offen much more theoretical than practical, and to start with, it was hard for me to wrap my head around it. The people who write/work with python/django tend to discuss the language on such a high level that it's not even remotely interesting to me.
2) Code evolution
This is only applies to Django, about 90% of blog posts and articles I find about Django are outdated, because only since last year, there has been so many changes/upgrades to the the framework. For a beginner, it's really hard knowing what to believe and learn, thankfully though, the official django documentation is mostly really good, and their IRC channel is very friendly too
Like you mentioned, deploying a python/django website takes more trickery than just uploading a PHP file. You need more knowledge and time setting it up to run smoothly. As a result, finding web hosting that supports it, and knows how to run it well, is harder and maybe just a little bit more expensive to find. But those that DO host it, tend to be very good.
Having said all this, I've totoally falled in love with Python and Django, and once you get rolling, there's nothing stopping you