• Xavier Thompson's avatar
    [fix] Add each .egg and .dist-info to environment · 58b8ec8d
    Xavier Thompson authored
    Since zc.buildout uses `pip` to install dists, most .egg in ./eggs and
    ./develop-eggs (in case of dists installed with zc.recipe.egg:custom)
    are not actually eggs, but installed wheels with .dist-info format
    which have been bundled into a .egg containing .dist-info metadata
    folder as well as the actual package folder directly alongside.
    
    Unlike actual eggs, such */*.dist-info bundles are not stepped into
    by package_resources when the containing directory is add to the
    environment, so each .egg bundle needs to be added individually.
    
    Buildout already does this for bundles in the target directory of
    egg installation, usually ./eggs, but e.g. in offline mode there
    is no target directory and then already installed .egg bundles
    are not detected.
    
    So now every dist path is added to the environment individual,
    including for paths where buildout looks for already installed
    eggs but will not install eggs to, such as ./develop-eggs, and
    also ./eggs in offline mode or when using zc.recipe.egg:custom
    and the target is ./develop-eggs and ./eggs is such a scan-from
    but don't-install-to path.
    58b8ec8d
easy_install.py 69.1 KB