[Scons-dev] Scons and Dill

Albert Arquer albert.arquer at gmail.com
Fri Nov 25 05:32:55 EST 2016


Hello,

I seem to be having problems using dill inside my sconscripts. The case is
that when I import SCons packages and after I import dill python crashes
with:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/p/common/python/2.7.8/lib/python2.7/site-packages/dill-0.2.5-py2.7.egg/dill/__init__.py",
line 26, in <module>
    from .dill import dump, dumps, load, loads, dump_session, load_session, \
  File "/p/common/python/2.7.8/lib/python2.7/site-packages/dill-0.2.5-py2.7.egg/dill/dill.py",
line 371, in <module>
    class Pickler(StockPickler):
  File "/p/common/python/2.7.8/lib/python2.7/site-packages/dill-0.2.5-py2.7.egg/dill/dill.py",
line 373, in Pickler
    dispatch = MetaCatchingDict(StockPickler.dispatch.copy())
AttributeError: 'builtin_function_or_method' object has no attribute 'dispatch'


To replicate run:

from SCons.Builder import Builder
from SCons.Builder import is_a_Builder
from SCons.Defaults import Copy
from SCons.Script import AddOption, GetOption, Main, Help
from SCons.Variables import *
from datetime import timedelta
import dill

I am running:

Python: 2.7.8
Scons: 2.5
Dill: 0.2.5


I have been looking around and the problem seems to be that scons renames
the cPickle to pickle.. Why does scons do that? I also tried running scons
2.5.1 with same luck.
I also tried to comment out the line where scons does the renaming and got
a different error:

scons: *** [<target_path>] PicklingError : Can't pickle <class
'SCons.Scanner.LaTeX.LaTeXScanCheck'>: it's not found as
SCons.Scanner.LaTeX.LaTeXScanCheck
scons: building terminated because of errors.


I have also seen scons use to check an environment variable called
SCONS_HORRIBLE_REGRESSION_TEST_HACK  to decide to do the renaming or not,
this was in version 2.3.0, however I see no such variable in 2.5/2.5.1...

What could I do to be able to use dill in my sconscripts? I really need it
:(

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20161125/d0e479eb/attachment.html>


More information about the Scons-dev mailing list