• Jérome Perrin's avatar
    Support python provided by a part that does not need install · d6792dc7
    Jérome Perrin authored
    With shared builds, it's now possible that the [python2.7] part that is
    providing executable for this buildout does not need to install any part and
    makes the interpreter available since recipe initialisation.
    
    This is causing an error during the overriden method computing part signature,
    because parts are not installed yet:
    
        An internal error occurred due to a bug in either zc.buildout or in a
        recipe being used:
        Traceback (most recent call last):
          File "zc/buildout/buildout.py", line 2242, in main
            getattr(buildout, command)(args)
          File "zc/buildout/buildout.py", line 638, in install
            self._install_parts(install_args)
          File "zc/buildout/buildout.py", line 704, in _install_parts
            self._compute_part_signatures(install_parts)
          File "slapos/rebootstrap/__init__.py", line 37, in wrapper
            return getattr(self, attr)(*args, **kw)
          File "slapos/rebootstrap/__init__.py", line 95, in _compute_part_signatures
            installed_part_options[part]['__buildout_signature__']
        KeyError: 'already_installed_python'
    
    To support that case, tolerate that parts are can be not installed yet at this
    point.
    
    /reviewed-on !1
    d6792dc7
__init__.py 4.96 KB