aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py')
-rw-r--r--sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
index a6c3e420d..a509ecf07 100644
--- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
+++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
@@ -114,7 +114,7 @@ def finish_import(module):
import signature_bootstrap
-from shibokensupport import signature, __feature__
+from shibokensupport import signature, feature as __feature__
signature.get_signature = signature_bootstrap.get_signature
# PYSIDE-1019: Publish the __feature__ dictionary.
__feature__.pyside_feature_dict = signature_bootstrap.pyside_feature_dict
@@ -195,8 +195,9 @@ def move_into_pyside_package():
try:
import PySide2.support
except ModuleNotFoundError:
- PySide2.support = types.ModuleType("PySide2.support")
- put_into_package(PySide2.support, __feature__)
+ # This can happen in the embedding case.
+ put_into_package(PySide2, shibokensupport, "support")
+ put_into_package(PySide2.support, __feature__, "__feature__")
put_into_package(PySide2.support, signature)
put_into_package(PySide2.support.signature, mapping)
put_into_package(PySide2.support.signature, errorhandler)
@@ -220,16 +221,18 @@ from shibokensupport.signature.lib import enum_sig
if "PySide2" in sys.modules:
# We publish everything under "PySide2.support.signature", again.
move_into_pyside_package()
+ # PYSIDE-1502: Make sure that support can be imported.
+ try:
+ import PySide2.support
+ except ModuleNotFoundError as e:
+ print("PySide2.support could not be imported. "
+ "This is a serious configuration error.", file=sys.stderr)
+ raise
# PYSIDE-1019: Modify `__import__` to be `__feature__` aware.
# __feature__ is already in sys.modules, so this is actually no import
- try:
- import PySide2.support.__feature__
- sys.modules["__feature__"] = PySide2.support.__feature__
- PySide2.support.__feature__.original_import = __builtins__["__import__"]
- __builtins__["__import__"] = PySide2.support.__feature__._import
- # Maybe we should optimize that and change `__import__` from C, instead?
- except ModuleNotFoundError:
- print("__feature__ could not be imported. "
- "This is an unsolved PyInstaller problem.", file=sys.stderr)
+ import PySide2.support.__feature__
+ sys.modules["__feature__"] = PySide2.support.__feature__
+ PySide2.support.__feature__.original_import = __builtins__["__import__"]
+ __builtins__["__import__"] = PySide2.support.__feature__._import
# end of file