Re: Reading Python 3.8.0 .dblite file from Python 2.7
Mats Wichmann <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <[email protected]> |
On 12/3/19 5:35 PM, Don Baldwin wrote: > Hi, > > ignoring invalid `dblite' file > > From what I've read, this seems to be due to the incompatibility > between the pickle library between Python 2 and 3. evolving protocols, yes. actually it's not just py 2/3, 3.8 added a new pickle protocol that earlier Py3's can't read. > I see the following code in lib/SCons/compat/__init__.py: > > # Was pickle.HIGHEST_PROTOCOL > # Changed to 2 so py3.5+'s pickle will be compatible with py2.7. > PICKLE_PROTOCOL = pickle.HIGHEST_PROTOCOL > > > When I modify this to set PICKLE_PROTOCOL = 2, my tools are able to > successfully read the .dblite files, but I'd prefer not to have to > modify the native SCons code. > > Is there a way to set this value from my SConscript file, or some other > preferred way to handle this situation? No. SCons picks the highest available pickle version which is arguably a dubious choice for your situation (and mine, it turns out), but that's what it does. There's no official API-ish way to request a different one. that would be a feature request, I guess. _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users