diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2016-03-29 13:11:06 -0400 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2016-03-29 13:11:06 -0400 |
| commit | d25e2a585c0e80dc89d72a91f8da0ba8198a4f7c (patch) | |
| tree | 91ea7a83824b026bcb4f1d837708f6b459f1637e /pkg_resources | |
| parent | 2f95af84d585c19a8eb6a8e6d437acdbe3c3d2ae (diff) | |
| parent | 2d8cb89459af1d68f7efd7da902c9e6954504740 (diff) | |
| download | python-setuptools-git-d25e2a585c0e80dc89d72a91f8da0ba8198a4f7c.tar.gz | |
Merge https://bitbucket.org/pypa/setuptools/pull-requests/185.
Diffstat (limited to 'pkg_resources')
| -rw-r--r-- | pkg_resources/__init__.py | 4 | ||||
| -rw-r--r-- | pkg_resources/tests/test_resources.py | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index 0534f54f..bb69b607 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -809,6 +809,10 @@ class WorkingSet(object): if req in processed: # Ignore cyclic or redundant dependencies continue + # If the req has a marker, evaluate it -- skipping the req if + # it evaluates to False. + if req.marker and not req.marker.evaluate(): + continue dist = best.get(req.key) if dist is None: # Find the best distribution and add it to the map diff --git a/pkg_resources/tests/test_resources.py b/pkg_resources/tests/test_resources.py index f59d55d5..1e176771 100644 --- a/pkg_resources/tests/test_resources.py +++ b/pkg_resources/tests/test_resources.py @@ -182,6 +182,11 @@ class TestDistro: msg = 'Foo 0.9 is installed but Foo==1.2 is required' assert vc.value.report() == msg + ws = WorkingSet([]) # reset + # Environment markers are evaluated at resolution time + res = ws.resolve(parse_requirements("Foo;python_version<'2'"), ad) + assert list(res) == [] + def testDistroDependsOptions(self): d = self.distRequires(""" Twisted>=1.5 |
