openGauss-OM/script/gspylib/common/CheckPythonVersion.py
2022-06-29 09:41:46 +08:00

56 lines
1.9 KiB
Python

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Copyright (c) 2020 Huawei Technologies Co.,Ltd.
#
# openGauss is licensed under Mulan PSL v2.
# You can use this software according to the terms
# and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# ----------------------------------------------------------------------------
import sys
import sysconfig
import platform
import re
def checkPythonVersion():
pythonVersion = sys.version_info[0:2]
distName = platform.platform()
if pythonVersion < (3, 0):
raise Exception("[GAUSS-52200] : version of python"
" is not correct: %s." %
distName + " should use Python 3.*")
if re.search("oe1", distName) is not None:
if not pythonVersion == (3, 7):
print("Warnging version of python doesnot meet the expection, maybe third-party libs "
"need to be compiled by yourself")
else:
if not pythonVersion == (3, 6):
print("Warnging version of python doesnot meet the expection, maybe third-party libs "
"need to be compiled by yourself")
return True
def check_python_compiler_option():
config_args = sysconfig.get_config_var("CONFIG_ARGS")
if "--enable-shared" and "-fPIC" not in config_args:
raise Exception("[GAUSS-52200] : When compiling python, \
carry the -enable-shared and -fpic parameters")
return True
if __name__ == '__main__':
try:
check_python = checkPythonVersion()
if check_python:
check_python_compiler_option()
except Exception as e:
raise Exception(e)