mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-22 10:20:59 +00:00
bundled zetuptools: prefer platform-specific dists to platform-independent ones. refs #1233
This commit is contained in:
parent
f606ce068b
commit
a1cef915fd
@ -793,19 +793,33 @@ class Environment(object):
|
||||
This calls the ``find(req)`` method of the `working_set` to see if a
|
||||
suitable distribution is already active. (This may raise
|
||||
``VersionConflict`` if an unsuitable version of the project is already
|
||||
active in the specified `working_set`.) If a suitable distribution
|
||||
isn't active, this method returns the newest distribution in the
|
||||
environment that meets the ``Requirement`` in `req`. If no suitable
|
||||
distribution is found, and `installer` is supplied, then the result of
|
||||
calling the environment's ``obtain(req, installer)`` method will be
|
||||
returned.
|
||||
active in the specified `working_set`.)
|
||||
|
||||
If a suitable distribution isn't active, this method returns the
|
||||
newest platform-dependent distribution in the environment that meets
|
||||
the ``Requirement`` in `req`. If no suitable platform-dependent
|
||||
distribution is found, then the newest platform-independent
|
||||
distribution that meets the requirement is returned. (A platform-
|
||||
dependent distribution will typically have code compiled or
|
||||
specialized for that platform.)
|
||||
|
||||
Otherwise, if `installer` is supplied, then the result of calling the
|
||||
environment's ``obtain(req, installer)`` method will be returned.
|
||||
"""
|
||||
dist = working_set.find(req)
|
||||
if dist is not None:
|
||||
return dist
|
||||
|
||||
# first try to find a platform-dependent dist
|
||||
for dist in self[req.key]:
|
||||
if dist in req and dist.platform is not None:
|
||||
return dist
|
||||
|
||||
# then try any other dist
|
||||
for dist in self[req.key]:
|
||||
if dist in req:
|
||||
return dist
|
||||
|
||||
return self.obtain(req, installer) # try and download/install
|
||||
|
||||
def obtain(self, requirement, installer=None):
|
||||
|
Loading…
x
Reference in New Issue
Block a user