File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change 1+ Only attempt to fetch eggs for unsatisfied requirements.
Original file line number Diff line number Diff line change 11from __future__ import annotations
22
33import glob
4+ import itertools
45import os
56import subprocess
67import sys
@@ -35,12 +36,20 @@ def fetch_build_egg(dist, req):
3536 return _fetch_build_egg_no_warn (dist , req )
3637
3738
39+ def _present (req ):
40+ return any (_dist_matches_req (dist , req ) for dist in metadata .distributions ())
41+
42+
3843def _fetch_build_eggs (dist , requires : _reqs ._StrOrIter ) -> list [metadata .Distribution ]:
3944 _DeprecatedInstaller .emit (stacklevel = 3 )
4045 _warn_wheel_not_available (dist )
4146
47+ parsed_reqs = _reqs .parse (requires )
48+
49+ missing_reqs = itertools .filterfalse (_present , parsed_reqs )
50+
4251 needed_reqs = (
43- req for req in _reqs . parse ( requires ) if not req .marker or req .marker .evaluate ()
52+ req for req in missing_reqs if not req .marker or req .marker .evaluate ()
4453 )
4554 resolved_dists = [_fetch_build_egg_no_warn (dist , req ) for req in needed_reqs ]
4655 for dist in resolved_dists :
You can’t perform that action at this time.
0 commit comments