Keeping JVM running
Without fixing python so it doesn't do you this, you can start a java service which calls your code and have python talk to it via TCP e.g. using protobuf.  This way the service can be running all the time.
We've been working on a web application using Django. One library we needed to use was written in java, so I made a single jar file containing all the java code we need to use. The python script simply calls the java program using subprocess module and resumes its execution.
Everytime the java program is called, it initializes the jvm, does a little work, and then uninitializes itself. This introduces some overhead which might not be that significant in the end but nevertheless having to go through this construct/destroy circle  every time we need something from the java library bothers me. 
Is there an elegant way of doing this without the overhead i just described above?