Skip to content

Commit e03f883

Browse files
committed
Flip conditionals around package finders in pkg_resources (#3685)
- In Python 3.3+ importlib.machinery.FileFinder is always present, therefore we no longer need to keep the conditional - In Python 3.12+ pkgutil.ImpImporter is removed, so we need a conditional to avoid using it directly.
2 parents d348fdf + 87518dd commit e03f883

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

changelog.d/3685.change.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix improper usage of deprecated/removed ``pkgutil`` APIs in Python 3.12+.

pkg_resources/__init__.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -2187,10 +2187,10 @@ def resolve_egg_link(path):
21872187
return next(dist_groups, ())
21882188

21892189

2190-
register_finder(pkgutil.ImpImporter, find_on_path)
2190+
if hasattr(pkgutil, 'ImpImporter'):
2191+
register_finder(pkgutil.ImpImporter, find_on_path)
21912192

2192-
if hasattr(importlib_machinery, 'FileFinder'):
2193-
register_finder(importlib_machinery.FileFinder, find_on_path)
2193+
register_finder(importlib_machinery.FileFinder, find_on_path)
21942194

21952195
_declare_state('dict', _namespace_handlers={})
21962196
_declare_state('dict', _namespace_packages={})
@@ -2344,11 +2344,11 @@ def file_ns_handler(importer, path_item, packageName, module):
23442344
return subpath
23452345

23462346

2347-
register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
2348-
register_namespace_handler(zipimport.zipimporter, file_ns_handler)
2347+
if hasattr(pkgutil, 'ImpImporter'):
2348+
register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
23492349

2350-
if hasattr(importlib_machinery, 'FileFinder'):
2351-
register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler)
2350+
register_namespace_handler(zipimport.zipimporter, file_ns_handler)
2351+
register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler)
23522352

23532353

23542354
def null_ns_handler(importer, path_item, packageName, module):

0 commit comments

Comments
 (0)