From 3c71ba4b2a3f7a69e6aad83eea0d9158231713b1 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Thu, 5 Nov 2020 12:20:09 -0500 Subject: [PATCH 1/2] Fix wiring multiple imports, issue #320 --- src/dependency_injector/wiring.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dependency_injector/wiring.py b/src/dependency_injector/wiring.py index 1c4fcbf4..362493d9 100644 --- a/src/dependency_injector/wiring.py +++ b/src/dependency_injector/wiring.py @@ -2,6 +2,7 @@ import functools import inspect +import importlib import pkgutil import sys from types import ModuleType @@ -289,11 +290,11 @@ def _resolve_injections( def _fetch_modules(package): modules = [package] - for loader, module_name, is_pkg in pkgutil.walk_packages( + for module_info in pkgutil.walk_packages( path=package.__path__, prefix=package.__name__ + '.', ): - module = loader.find_module(module_name).load_module(module_name) + module = importlib.import_module(module_info.name) modules.append(module) return modules From 6b93c2e412e2f68562b6bcd6c1b0c6cc11dbd188 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Thu, 5 Nov 2020 12:23:47 -0500 Subject: [PATCH 2/2] Bump version to 4.3.5 --- docs/main/changelog.rst | 7 +++++++ src/dependency_injector/__init__.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index e27202a5..8868c881 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -7,6 +7,13 @@ that were made in every particular version. From version 0.7.6 *Dependency Injector* framework strictly follows `Semantic versioning`_ +4.3.5 +----- +- Fix a bug in ``wiring`` module that caused multiple imports of the modules + when ``.wire(packages=[...])`` is used + (See issue `#320 `_). Thanks + to `Federico iskorini `_ for reporting the issue. + 4.3.4 ----- - Fix a bug in ``Configuration`` provider that resulted in not working ``.reset_override()`` diff --git a/src/dependency_injector/__init__.py b/src/dependency_injector/__init__.py index 609716f2..a1e1c40c 100644 --- a/src/dependency_injector/__init__.py +++ b/src/dependency_injector/__init__.py @@ -1,6 +1,6 @@ """Top-level package.""" -__version__ = '4.3.4' +__version__ = '4.3.5' """Version number. :type: str