mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-24 06:05:10 +00:00
Use sysconfig in Python >= 3.10 (#3764)
* Use sysconfig in Python >= 3.10 Rely on sysconfig for installation paths for Python >= 3.10. distutils has been deprecated and will be removed. Fixes: #3677 * Explicitly select the posix_prefix scheme for platinclude on Debian Debian's default scheme is posix_local, for installing locally-built packages to /usr/local/. We want to find the Python headers in /usr/, so search posix_prefix.
This commit is contained in:
parent
80589625c7
commit
bdec573794
@ -112,11 +112,24 @@ endif()
|
|||||||
# VERSION. VERSION will typically be like "2.7" on unix, and "27" on windows.
|
# VERSION. VERSION will typically be like "2.7" on unix, and "27" on windows.
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND
|
COMMAND
|
||||||
"${PYTHON_EXECUTABLE}" "-c" "from distutils import sysconfig as s;import sys;import struct;
|
"${PYTHON_EXECUTABLE}" "-c" "
|
||||||
|
import sys;import struct;
|
||||||
|
import sysconfig as s
|
||||||
|
USE_SYSCONFIG = sys.version_info >= (3, 10)
|
||||||
|
if not USE_SYSCONFIG:
|
||||||
|
from distutils import sysconfig as ds
|
||||||
print('.'.join(str(v) for v in sys.version_info));
|
print('.'.join(str(v) for v in sys.version_info));
|
||||||
print(sys.prefix);
|
print(sys.prefix);
|
||||||
print(s.get_python_inc(plat_specific=True));
|
if USE_SYSCONFIG:
|
||||||
print(s.get_python_lib(plat_specific=True));
|
scheme = s.get_default_scheme()
|
||||||
|
if scheme == 'posix_local':
|
||||||
|
# Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
|
||||||
|
scheme = 'posix_prefix'
|
||||||
|
print(s.get_path('platinclude', scheme))
|
||||||
|
print(s.get_path('platlib'))
|
||||||
|
else:
|
||||||
|
print(ds.get_python_inc(plat_specific=True));
|
||||||
|
print(ds.get_python_lib(plat_specific=True));
|
||||||
print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO'));
|
print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO'));
|
||||||
print(hasattr(sys, 'gettotalrefcount')+0);
|
print(hasattr(sys, 'gettotalrefcount')+0);
|
||||||
print(struct.calcsize('@P'));
|
print(struct.calcsize('@P'));
|
||||||
|
Loading…
Reference in New Issue
Block a user