Multiprocessing and Orekit python wrapper

Hi !

Thanks to all of you for replying to this topic !

Are your two Python environments equivalent in terms of library versions (check with pip freeze for example)? If not try aligning the non working one on the other with a requirement file

@Serrof Yes they are. I use python 3.10 and a pip freeze gives the following output in both cases:

orekit==11.3.2
orekit-stubs==0.1

Very hard to see where the problem could be. I have mostly used threads, but notice there you need to do an AttachCurrentThread() to get the JVM access. Not completely sure why you don’t seem to need that here (try!). See for example: Python wrapper and orekit.initVM()

Not sure if different java versions could have an influence, I typically use openjdk 8 which is what is installed with the default conda orekit.

@petrus.hyvonen I can’t pass the output of initVM() to the parallelized function because this object is not pickable. So I can’t use the function AttachCurrentThread(). I am not very familiar with multi threading and multiprocessing so I don’t know if there is a way to get over this problem.
I also use openjdk 8.

I will consider switching to multithreading instead of multiprocessing or write my whole code in Java.

Regards,
Thomas