The butler has a "PickleStorage" type, which is used when persisting an lsst.skymap. It defaults to pickle.HIGHEST_PROTOCOL (posixStorage.py:203), which means that if a skymap is generated in python3, it will be unusable in python2.
- Replace pickle.HIGHEST_PROTOCOL with 2 (easy, but we're still saving pickle files, which aren't really meant for this sort of persistence).
- Write a new persistence type for skymap and use it (and deprecate/remove PickleStorage in the butler); possibilities include YAML or HDF5.
- Go all-in on python3, so we can use protocol=4 without trouble.