python: restore sys.path in bootstrap()

- multiprocessing need to start from bootstrap code
- loading may fail due to missing os.add_dll_directory() calls
pull/18930/head
Alexander Alekhin 4 years ago
parent f4f462c50b
commit 36d771affc
  1. 6
      modules/python/package/cv2/__init__.py

@ -18,6 +18,10 @@ except ImportError:
def bootstrap():
import sys
import copy
save_sys_path = copy.copy(sys.path)
if hasattr(sys, 'OpenCV_LOADER'):
print(sys.path)
raise ImportError('ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.')
@ -85,6 +89,8 @@ def bootstrap():
del sys.modules['cv2']
import cv2
sys.path = save_sys_path # multiprocessing should start from bootstrap code (https://github.com/opencv/opencv/issues/18502)
try:
import sys
del sys.OpenCV_LOADER

Loading…
Cancel
Save