ข้อมูลการกำหนดค่าของการติดตั้ง 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) หากไม่พบ name จะคืนค่า None
>> sysconfig.get_config_var('VERSION')
'37'
>>> sysconfig.get_config_var('srcdir')
'E:\\python37'
Python ใช้โครงร่างการติดตั้งที่แตกต่างกัน ขึ้นกับแพลตฟอร์มและตัวเลือกการติดตั้ง โครงร่างที่รองรับอยู่:
| posix_prefix | โครงร่างสำหรับแพลตฟอร์ม POSIX เช่น Linux หรือ Mac OS X |
| posix_home | โครงร่างสำหรับแพลตฟอร์ม POSIX เมื่อใช้ตัวเลือก home ตอนติดตั้ง |
| posix_user | โครงร่างสำหรับแพลตฟอร์ม POSIX เมื่อติดตั้งส่วนผ่าน Distutils และใช้ตัวเลือก user |
| nt | โครงร่างสำหรับแพลตฟอร์ม NT เช่น Windows |
| nt_user | โครงร่างสำหรับแพลตฟอร์ม NT เมื่อใช้ตัวเลือก user |
get_path_names()
ฟังก์ชันนี้คืนค่าทูเพิลที่มีชื่อเส้นทางทั้งหมดที่รองรับใน sysconfig ปัจจุบัน
>> sysconfig.get_path_names()
('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
แต่ละโครงร่างประกอบด้วยเส้นทางต่างๆ ที่มีตัวระบุเฉพาะ ชื่อเส้นทางดังนี้:
| stdlib | ไดเรกทอรีที่มีไฟล์ไลบรารีมาตรฐาน Python ที่ไม่เฉพาะแพลตฟอร์ม |
| platstdlib | ไดเรกทอรีที่มีไฟล์ไลบรารีมาตรฐาน Python ที่เฉพาะแพลตฟอร์ม |
| platlib | ไดเรกทอรีสำหรับไฟล์เฉพาะไซต์และเฉพาะแพลตฟอร์ม |
| purelib | ไดเรกทอรีสำหรับไฟล์เฉพาะไซต์และไม่เฉพาะแพลตฟอร์ม |
| include | ไดเรกทอรีสำหรับไฟล์เฮดเดอร์ไม่เฉพาะแพลตฟอร์ม |
| platinclude | ไดเรกทอรีสำหรับไฟล์เฮดเดอร์เฉพาะแพลตฟอร์ม |
| scripts | ไดเรกทอรีสำหรับไฟล์สคริปต์ |
| data | ไดเรกทอรีสำหรับไฟล์ข้อมูล |
get_path()
ฟังก์ชันนี้คืนค่าเส้นทางการติดตั้งที่สอดคล้องกับชื่อเส้นทาง จากโครงร่างการติดตั้งที่ชื่อ scheme
>> sysconfig.get_path('include')
'E:\\python37\\Include'
>> sysconfig.get_platform() 'win-amd64'
get_python_version()
ฟังก์ชันนี้คืนค่าหมายเลขเวอร์ชัน Python MAJOR.MINOR เป็นสตริง
get_platform()
ฟังก์ชันนี้คืนค่าสตริงที่ระบุแพลตฟอร์มปัจจุบัน
ตัวแปรการกำหนดค่าและค่าของมันสามารถเข้าถึงได้โดยใช้โมดูล sysconfig ด้วยตัวเลือก -m
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"