If you ask me why Python -- and Rails, for that matter -- aren't trouncing PHP, it's because Python ignores Windows, and doesn't focus on the web.
Hold the flame throwers for a second.
Everyone on this site knows you shouldn't be deploying websites on Windows. And I agree. WAMP is not a sensible production environment. But it's a great learning environment.
Because what the Python hackers of the world seem to forget is that 95% of all the computers in the world are running Windows. And for very large numbers of the owners of those computers "buy a second box and put Linux on it" is not an available option, and "run a virtual machine with Linux on it" is really complicated. They don't want to learn a new operating system, they want to learn a language to build websites in. In fact, all they want to do is _build websites_, and the language is the means to an end. They will take the path of least resistance, not the path that is most elegant.
You want to build a website in Python on Windows? Good luck. Sure, Python has a great Windows installer -- but then what? Django? Some other web framework? Have you tried installing Django on Windows? It is a gigantic pain in the ass. Oh, and the MySQL libraries aren't included. Oh, and they don't work with Python 2.6 unless you find a super-secret download mentioned only on a mailing list. And then you have to learn Python, and then Django, and then you have to work out how to deploy it to your host's web server.
Here's how you do the same thing in PHP. You go somewhere like here:
http://www.wampserver.com/
You download one file, run one installer, and it gives you Apache, PHP, and a MySQL server, all at the same time. You put some .php files in there and web pages start turning up in your browser. It's not pretty, it's not elegant, it doesn't scale, but it's your first web page ever and it's ready in 10 minutes. Ready to deploy? Copy your three PHP files to your web host via FTP, and presto, they work just like they did on your home machine.
Later, you discover frameworks. You learn about encapsulation, and MVC, and loose coupling and scalability. You work out that Windows is not exactly like your web host, which is running Linux. You might get around to installing Linux at that point, but you don't really have to because the differences are pretty minor. But whatever happens, at that point, you already know PHP. You're not going to switch languages.
Until Ruby and Python hackers swallow their pride and accept that welcoming newbies to the language means not forcing them to switch operating systems, PHP will continue to monopolize the market for beginner web developers, and hence the market for the professional developers that they turn into.