From e10f83dba27433c035c11eab73a9ebd927b54300 Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Wed, 15 Mar 2023 15:15:20 +0300 Subject: [PATCH] Handle setup with and without PYTHON3_LIMITED_API. --- setup.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 4e64f230..9f43680d 100644 --- a/setup.py +++ b/setup.py @@ -395,8 +395,14 @@ def _classify_installed_files_override( # add lines from the old __init__.py file to the config file with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'scripts', '__init__.py'), 'r') as custom_init: custom_init_data = custom_init.read() - with open('%spython/cv2/config-%s.py' - % (cmake_install_dir, sys.version_info[0]), 'w') as opencv_init_config: + + # OpenCV generates config with different name for case with PYTHON3_LIMITED_API=ON + config_py = os.path.join(cmake_install_dir, 'python', 'cv2', 'config-%s.%s.py' + % (sys.version_info[0], sys.version_info[1])) + if not os.path.exists(config_py): + config_py = os.path.join(cmake_install_dir, 'python', 'cv2', 'config-%s.py' % sys.version_info[0]) + + with open(config_py, 'w') as opencv_init_config: opencv_init_config.write(custom_init_data) for package_name, relpaths_re in cls.package_paths_re.items():