From fac56da83db6eff4660fe8fcbe074a20466c6a81 Mon Sep 17 00:00:00 2001 From: risemeup1 <515586620@qq.com> Date: Thu, 9 Feb 2023 14:29:52 +0000 Subject: [PATCH] fix ninja error while using python>=3.9 --- setup.py | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/setup.py b/setup.py index 8737de4e36a6c..64580a853a041 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,6 @@ import shutil import subprocess import sys -import sysconfig from contextlib import contextmanager from distutils.spawn import find_executable from subprocess import CalledProcessError @@ -43,6 +42,12 @@ print("export PY_VERSION = %s" % platform.python_version()) python_version = platform.python_version() os.environ["PY_VERSION"] = python_version + else: + if os.getenv("PY_VERSION") != platform.python_version()[:3]: + raise RuntimeError( + "You set PY_VERSION=%s, but your current python environment is %s, you should keep them consistent!" + % (os.getenv("PY_VERSION"), platform.python_version()[:3]) + ) # check cmake CMAKE = find_executable('cmake3') or find_executable('cmake') @@ -50,27 +55,6 @@ CMAKE ), 'The "cmake" executable is not found. Please check if Cmake is installed.' -# CMAKE: full path to python library -if platform.system() == "Windows": - cmake_python_library = "{}/libs/python{}.lib".format( - sysconfig.get_config_var("prefix"), sysconfig.get_config_var("VERSION") - ) - # Fix virtualenv builds - if not os.path.exists(cmake_python_library): - cmake_python_library = "{}/libs/python{}.lib".format( - sys.base_prefix, sysconfig.get_config_var("VERSION") - ) -else: - cmake_python_library = "{}/{}".format( - sysconfig.get_config_var("LIBDIR"), - sysconfig.get_config_var("INSTSONAME"), - ) - if not os.path.exists(cmake_python_library): - libname = sysconfig.get_config_var("INSTSONAME") - libdir = sysconfig.get_config_var('LIBDIR') + ( - sysconfig.get_config_var("multiarchsubdir") or "" - ) - cmake_python_library = os.path.join(libdir, libname) TOP_DIR = os.path.dirname(os.path.realpath(__file__)) @@ -642,16 +626,6 @@ def options_process(args, build_options): for key, value in sorted(build_options.items()): if value is not None: args.append("-D{}={}".format(key, value)) - if 'PYTHON_EXECUTABLE:FILEPATH' not in build_options.keys(): - args.append("-D{}={}".format('PYTHON_EXECUTABLE', sys.executable)) - if 'PYTHON_INCLUDE_DIR:PATH' not in build_options.keys(): - args.append( - '-D{}={}'.format( - 'PYTHON_INCLUDE_DIR', sysconfig.get_path("include") - ) - ) - if 'PYTHON_LIBRARY:FILEPATH' not in build_options.keys(): - args.append('-D{}={}'.format('PYTHON_LIBRARY', cmake_python_library)) def get_cmake_generator():