• Jim Porter's avatar
    Fix usage of extras when installing via Wheels; resolves #882 · 8c1f489f
    Jim Porter authored
    When resolving requirements, we now pass the list of extras we're using along
    to Marker.evaluate, since we want to include the extra's requirements in our
    list of required packages. This is sort of papering over the underlying issue;
    namely, that the dependency map for dist-info distributions looks like:
    
      { None      : ['common_dep'],
        'my_extra': ['extra_dep; extra = "my_extra"'] }
    
    If we eliminated 'extra = "my_extra"' when creating this map, the problem
    would go away because the WorkingSet would no longer treat `extra_dep` as a
    purely optional dependency. However, this would require copying and
    manipulating Requirement objects, which is somewhat more complicated than the
    current solution.
    8c1f489f
__init__.py 102 KB