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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.