Python stdlib will let you package a C extension. I am not sure why you think the opposite. http://docs.python.org/extending/index.html
> No good isolation tools (virtualenv, the most common tool, silently fails to isolate dependencies when moved)
If you mean it's not relocatable, there's a new option for this http://www.virtualenv.org/en/latest/index.html#making-enviro...
But being not relocatable is not really an issue, as you can simply re-run virtualenv in the new place. All libs you previously installed will work without having to install them again
> Some of the standard library is downright terrible. csv and robotsparser are good examples. This has the side effect of widely-distributing libraries that have subtle but serious drawbacks.
Some stuff in the stdlib are not good that's true, but we have a gigantic library ecosystem at pypi.python.org will very well written piece of libs. Using Python seriously, I have never ever felt the serious drawbacks you are talking about except with tarlib in python 2.4 which was seriously broken.
But c-extensions aren't put into the same package so you still have to include the shared object files yourself so it's not really a package. One of the best things about the JVM's jar is that you can pack all your other jars into one jar for deployment.
> If you mean it's not relocatable, there's a new option for this: (--relocatable)
"In theory virtualenvs have a --relocatable flag but that one is heavily broken and conceptionally can't work properly because it uses the system Python interpreter to switch to the intended environment."
http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
> pypi.python.org
Yes, it's great, but I'm talking about the standard library. I really wish some of the worse parts of it would be improved or removed.
- Broken scoping by default (the thread does raise this)
- Unicode is very painful in python2 (addressed very well by python3)
- Duck typing sometimes prevents early detection of genuine programming mistakes because of overuse: False + 1 == True
- No good isolation tools (virtualenv, the most common tool, silently fails to isolate dependencies when moved, which is obviously makes it tough to deploy using it)
- Poor packaging tools (only a few tools than they all have serious limitations such as not being able to package c-extensions).
- Some of the standard library is downright terrible. csv and robotsparser are good examples. This has the pernicious effect of widely-distributing libraries that have subtle but serious drawbacks.