Most of what I do is Django. its is brilliant. Yes, its big, but it does a lot and is flexible.
If you had to "figure out how to force pip to only load specific versions of things" you are obviously not familiar with the tools you were using. its standard practice to have a requirements.txt file with versions specified (and you can have a range, so you can say allow minor version upgrades but not major, or patch only).
If you were using Python for things that should have been done in fast compiled language you are using the wrong tool for the job. You can write a C extension, or rewrite Python code in Cython, or JIT compile performance sensitive code with numba or run the whole thing with Pypy, etc.
Of course, with Python you often find that someone else has already provided a fast library. This is where most of my efforts to use something other than Python come to grief - its always easier to use the Python library.