Может ли интерпретатор python сказать мне, где находятся его заголовочные файлы?

#python #build #include #c-header

Вопрос:

В системах debian/CentOS исходные, заголовочные и библиотечные файлы python организованы следующим образом:

 /usr/(local/|)/bin/python /usr/(local/|)/include/python-$version$/ /usr/(local/|)/libs  

Но в Windows структура папок немного отличается

 C:\Program Files\Python$version$\python.exe C:\Program Files\Python$version$\include C:\Program Files\Python$version$\libs  

модуль sys может сообщить мне , где находится исполняемый sys.executable файл и общая папка, в которой установлены все файлы python sys.base_prefix , может ли он или какой-либо другой модуль сообщить мне, где находятся заголовочные файлы?

Ответ №1:

Эта информация доступна в файлах distutils.sysconfig и sysconfig, т. е.:

до python 3.2

 from distutils import sysconfig sysconfig.get_python_inc()  

более поздние питоны:

 import sysconfig sysconfig.get_config_var("INCLUDEPY")