Python 설치의 구성 정보는 sysconfig 모듈에서 액세스할 수 있습니다. 예를 들어 설치 경로 및 설치 플랫폼에 특정한 구성 변수 목록입니다.
sysconfig 모듈은 구성 변수에 액세스하기 위해 다음과 같은 기능을 제공합니다.
sysconfig.get_config_vars()
인수가 없으면 이 함수는 현재 플랫폼과 관련된 모든 구성 변수의 사전을 반환합니다.
>>> import sysconfig >>> sysconfig.get_config_vars() {'prefix': 'E:\\python37', 'exec_prefix': 'E:\\python37', 'py_version': '3.7.2', 'py_version_short': '3.7', 'py_version_nodot': '37', 'installed_base': 'E:\\python37', 'base': 'E:\\python37', 'installed_platbase': 'E:\\python37', 'platbase': 'E:\\python37', 'projectbase': 'E:\\python37', 'abiflags': '', 'LIBDEST': 'E:\\python37\\Lib', 'BINLIBDEST': 'E:\\python37\\Lib', 'INCLUDEPY': 'E:\\python37\\Include', 'EXT_SUFFIX': '.pyd', 'EXE': '.exe', 'VERSION': '37', 'BINDIR': 'E:\\python37', 'SO': '.pyd', 'userbase': 'C:\\Users\\acer\\AppData\\Roaming\\Python', 'srcdir': 'E:\\python37'}
인수를 사용하여 특정 키에 대한 값 목록을 반환합니다. 각 인수에 대해 값을 찾을 수 없으면 None을 반환합니다.
>>> sysconfig.get_config_vars('base','EXE') ['E:\\python37', '.exe']
sysconfig.get_config_var()
이 함수는 단일 변수 이름의 값을 반환합니다. 이것은 get_config_vars().get(name)과 동일합니다. 이름을 찾을 수 없으면 함수는 없음을 반환합니다.
>>> sysconfig.get_config_var('VERSION') '37' >>> sysconfig.get_config_var('srcdir') 'E:\\python37'
Python은 플랫폼 및 설치 옵션에 따라 다른 설치 체계를 사용합니다. 다음 구성표가 현재 지원됩니다.
posix_prefix | Linux 또는 Mac OS X와 같은 Posix 플랫폼을 위한 계획 |
posix_home | 설치 시 홈 옵션을 사용할 때 사용되는 Posix 플랫폼용 구성표입니다. |
posix_user | Distutils를 통해 구성 요소를 설치하고 사용자 옵션을 사용할 때 사용되는 Posix 플랫폼용 스키마입니다. |
아니 | Windows와 같은 NT 플랫폼을 위한 계획입니다. |
nt_user | 사용자 옵션이 사용될 때 NT 플랫폼을 위한 체계 |
get_path_names()
이 함수는 sysconfig에서 현재 지원되는 모든 경로 이름을 포함하는 튜플을 반환합니다.
>>> sysconfig.get_path_names() ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
각 체계는 고유한 식별자를 갖는 다양한 경로로 구성됩니다. 경로 이름은 다음과 같습니다.
stdlib | 플랫폼에 특정하지 않은 표준 Python 라이브러리 파일이 포함된 디렉토리. |
platstdlib | 플랫폼별 표준 Python 라이브러리 파일이 포함된 디렉토리. |
플랫립 | 사이트별, 플랫폼별 파일용 디렉토리. |
순수립 | 사이트별, 비플랫폼별 파일용 디렉토리 |
포함 | 플랫폼별 헤더 파일이 아닌 디렉토리. |
플랫폼 | 플랫폼별 헤더 파일의 디렉토리. |
스크립트 | 스크립트 파일의 디렉토리. |
데이터 | 데이터 파일의 디렉토리. |
get_path()
이 함수는 체계라는 이름의 설치 체계에서 경로 이름에 해당하는 설치 경로를 반환합니다.
>>> sysconfig.get_path('include') 'E:\\python37\\Include'
>>> sysconfig.get_platform() 'win-amd64'
get_python_version()
이 함수는 MAJOR.MINOR Python 버전 번호를 문자열로 반환합니다.
get_platform()
이 함수는 현재 플랫폼을 식별하는 문자열을 반환합니다.
구성 변수와 그 값은 -m 옵션과 함께 sysconfig 모듈을 사용하여 액세스할 수도 있습니다.
E:\python37>python -m sysconfig Platform: "win-amd64" Python version: "3.7" Current installation scheme: "nt" Paths: data = "E:\python37" include = "E:\python37\Include" platinclude = "E:\python37\Include" platlib = "E:\python37\Lib\site-packages" platstdlib = "E:\python37\Lib" purelib = "E:\python37\Lib\site-packages" scripts = "E:\python37\Scripts" stdlib = "E:\python37\Lib" Variables: BINDIR = "E:\python37" BINLIBDEST = "E:\python37\Lib" EXE = ".exe" EXT_SUFFIX = ".pyd" INCLUDEPY = "E:\python37\Include" LIBDEST = "E:\python37\Lib" SO = ".pyd" VERSION = "37" abiflags = "" base = "E:\python37" exec_prefix = "E:\python37" installed_base = "E:\python37" installed_platbase = "E:\python37" platbase = "E:\python37" prefix = "E:\python37" projectbase = "E:\python37" py_version = "3.7.2" py_version_nodot = "37" py_version_short = "3.7" srcdir = "E:\python37" userbase = "C:\Users\acer\AppData\Roaming\Python"