From 790e62f8bfaeb17209ece53cc353b49b10b0e06f Mon Sep 17 00:00:00 2001 From: Miles Cranmer Date: Sat, 16 Dec 2023 08:02:58 -0600 Subject: [PATCH] Rename `distutils.sysconfig` to `sysconfig` (#1068) * Rename `distutils.sysconfig` to `sysconfig` - Required for Python 3.12 as distutils is removed. * Fallback to `distutils.sysconfig` --- deps/buildutils.jl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deps/buildutils.jl b/deps/buildutils.jl index 5eb27b94..f090875e 100644 --- a/deps/buildutils.jl +++ b/deps/buildutils.jl @@ -5,7 +5,15 @@ import Conda, Libdl pyvar(python::AbstractString, mod::AbstractString, var::AbstractString) = chomp(read(pythonenv(`$python -c "import $mod; print($mod.$(var))"`), String)) -pyconfigvar(python::AbstractString, var::AbstractString) = pyvar(python, "distutils.sysconfig", "get_config_var('$(var)')") +function pyconfigvar(python::AbstractString, var::AbstractString) + try + pyvar(python, "sysconfig", "get_config_var('$(var)')") + catch e + emsg = sprint(showerror, e) + @warn "Encountered error on using `sysconfig`: $emsg. Falling back to `distutils.sysconfig`." + pyvar(python, "distutils.sysconfig", "get_config_var('$(var)')") + end +end pyconfigvar(python, var, default) = let v = pyconfigvar(python, var) v == "None" ? default : v end