I\'ve since found a work around, but still want to know the answer.
You can use tblib
try: 1 / 0 except Exception as e: raise Exception("foo") from e except Exception as e: s = pickle.dumps(e) raise pickle.loads(s)