diff options
| -rw-r--r-- | pkg_resources/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index 3398a56b..70658062 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -2192,13 +2192,16 @@ def _rebuild_mod_path(orig_path, package_name, module): Rebuild module.__path__ ensuring that all entries are ordered corresponding to their sys.path order """ - sys_path= [(p and _normalize_cached(p) or p) for p in sys.path] - def sort_key(p): + sys_path = [(p and _normalize_cached(p) or p) for p in sys.path] + def position_in_sys_path(p): + """ + Return the ordinal of the path based on its position in sys.path + """ parts = p.split(os.sep) parts = parts[:-(package_name.count('.') + 1)] return sys_path.index(_normalize_cached(os.sep.join(parts))) - orig_path.sort(key=sort_key) + orig_path.sort(key=position_in_sys_path) module.__path__[:] = [_normalize_cached(p) for p in orig_path] |
