I think the problem here is, that python is not thread safe. You can't just access the interpreter from two threads and expect that it works. See http://docs.python.org/2/c-api/init.html#non-python-created-threads for more details. Essentially you have to acquire and release the GIL (The global interpreter lock).
This thing is kind of a mutex that ensures, that only one Thread accesses python objects at a time. The GIL is also the reason why python multithread performance is generally bad.