diff options
| -rw-r--r-- | CHANGES.rst | 3 | ||||
| -rw-r--r-- | pkg_resources/__init__.py | 11 | ||||
| -rwxr-xr-x | setup.cfg | 2 | ||||
| -rwxr-xr-x | setup.py | 2 |
4 files changed, 15 insertions, 3 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index da6322a2..af25cc4a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ CHANGES v27.2.0 ------- +* #520 and #513: Suppress ValueErrors in fixup_namespace_packages + when lookup fails. + * Nicer, more consistent interfaces for msvc monkeypatching. v27.1.2 diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index a93a3da7..4208c4ec 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -2066,6 +2066,15 @@ def _rebuild_mod_path(orig_path, package_name, module): """ sys_path = [_normalize_cached(p) for p in sys.path] + def safe_sys_path_index(entry): + """ + Workaround for #520 and #513. + """ + try: + return sys_path.index(entry) + except ValueError: + return float('inf') + def position_in_sys_path(path): """ Return the ordinal of the path based on its position in sys.path @@ -2073,7 +2082,7 @@ def _rebuild_mod_path(orig_path, package_name, module): path_parts = path.split(os.sep) module_parts = package_name.count('.') + 1 parts = path_parts[:-module_parts] - return sys_path.index(_normalize_cached(os.sep.join(parts))) + return safe_sys_path_index(_normalize_cached(os.sep.join(parts))) orig_path.sort(key=position_in_sys_path) module.__path__[:] = [_normalize_cached(p) for p in orig_path] @@ -1,5 +1,5 @@ [bumpversion] -current_version = 27.1.2 +current_version = 27.2.0 commit = True tag = True @@ -88,7 +88,7 @@ def pypi_link(pkg_filename): setup_params = dict( name="setuptools", - version="27.1.2", + version="27.2.0", description="Easily download, build, install, upgrade, and uninstall " "Python packages", author="Python Packaging Authority", |
