# using computation results from before switch to Python3 (sage9)

I have lots of precomputed data computed by sage8.9 and before that I rely on. The reason I save that data is that it took a lot of computation time to obtain it. The data is saved as .sobj-files.

Suddenly I get "invalid pickle data"-errors when trying to load some of that data with the new version of sage. (I'm using sage9.1 now.) I am therefore unable to do computations on top of the precomputed data.

I strongly suspect that this issue is due to basing sage9.x on Python3.

How do I convert the data so that I can use it in the new version of sage?

Help is greatly appreciated.

I haven't had that specific problem (yet), but I've run into issues restoring data in complex class types, especially within my own classes. If I modify my class, I will get an error when trying to restore the saved data, even if none of the data structures changed. I've gotten in the habit of saving large amounts of data in very bland data types. For example, I have a class which contains a matrix and multiple lists of matrices, as well as lists of lists of vectors. I ended up writing my own save and load procedures, which save out the individual matrices and lists to filenames that are based on the class variable names. Perhaps it's possible for you to re-export the data from sage 8.9 in a more basic format, then import in 9.x. Just a guess.

Thanks jaydfox, I will certainly give your idea a try.

This problem, along with a bit more precise documentation (i. e. a minimally reproducible example, and some details such as platform and versions) would be worth of filing a ticket.

Thanks Emmanuel Charpentier, I posted to sage-devel with that information having searched first if the same problem was already mentioned. Not sure whether that already constitutes "filing a ticket".