sysconfig — 解释器编译时间配置
优质
小牛编辑
140浏览
2023-12-01
Configuration Variables
# sysconfig_get_config_vars.py
import sysconfig
config_values = sysconfig.get_config_vars()
print('Found {} configuration settings'.format(
len(config_values.keys())))
print('\nSome highlights:\n')
print(' Installation prefixes:')
print(' prefix={prefix}'.format(**config_values))
print(' exec_prefix={exec_prefix}'.format(**config_values))
print('\n Version info:')
print(' py_version={py_version}'.format(**config_values))
print(' py_version_short={py_version_short}'.format(
**config_values))
print(' py_version_nodot={py_version_nodot}'.format(
**config_values))
print('\n Base directories:')
print(' base={base}'.format(**config_values))
print(' platbase={platbase}'.format(**config_values))
print(' userbase={userbase}'.format(**config_values))
print(' srcdir={srcdir}'.format(**config_values))
print('\n Compiler and linker flags:')
print(' LDFLAGS={LDFLAGS}'.format(**config_values))
print(' BASECFLAGS={BASECFLAGS}'.format(**config_values))
print(' Py_ENABLE_SHARED={Py_ENABLE_SHARED}'.format(
**config_values))
# sysconfig_get_config_vars_by_name.py
import sysconfig
bases = sysconfig.get_config_vars('base', 'platbase', 'userbase')
print('Base directories:')
for b in bases:
print(' ', b)
# sysconfig_get_config_var.py
import sysconfig
print('User base directory:',
sysconfig.get_config_var('userbase'))
print('Unknown variable :',
sysconfig.get_config_var('NoSuchVariable'))
Installation Paths
# sysconfig_get_scheme_names.py
import sysconfig
for name in sysconfig.get_scheme_names():
print(name)
# sysconfig_get_path_names.py
import sysconfig
for name in sysconfig.get_path_names():
print(name)
# sysconfig_get_paths.py
import sysconfig
import pprint
import os
for scheme in ['posix_prefix', 'posix_user']:
print(scheme)
print('=' * len(scheme))
paths = sysconfig.get_paths(scheme=scheme)
prefix = os.path.commonprefix(list(paths.values()))
print('prefix = {}\n'.format(prefix))
for name, path in sorted(paths.items()):
print('{}\n .{}'.format(name, path[len(prefix):]))
print()
# sysconfig_get_path.py
import sysconfig
import pprint
for scheme in ['posix_prefix', 'posix_user']:
print(scheme)
print('=' * len(scheme))
print('purelib =', sysconfig.get_path(name='purelib',
scheme=scheme))
print()
Python Version and Platform
# sysconfig_get_platform.py
import sysconfig
print(sysconfig.get_platform())
# sysconfig_get_python_version.py
import sysconfig
import sys
print('sysconfig.get_python_version():',
sysconfig.get_python_version())
print('\nsys.version_info:')
print(' major :', sys.version_info.major)
print(' minor :', sys.version_info.minor)
print(' micro :', sys.version_info.micro)
print(' releaselevel:', sys.version_info.releaselevel)
print(' serial :', sys.version_info.serial)