mirror of
https://github.com/python/cpython.git
synced 2025-09-11 03:07:01 +00:00
GH-127724: don't use sysconfig to calculate the venv local include path (#127731)
This commit is contained in:
parent
a8ffe66154
commit
8ac307f0d6
1 changed files with 12 additions and 3 deletions
|
@ -103,8 +103,6 @@ class EnvBuilder:
|
||||||
vars = {
|
vars = {
|
||||||
'base': env_dir,
|
'base': env_dir,
|
||||||
'platbase': env_dir,
|
'platbase': env_dir,
|
||||||
'installed_base': env_dir,
|
|
||||||
'installed_platbase': env_dir,
|
|
||||||
}
|
}
|
||||||
return sysconfig.get_path(name, scheme='venv', vars=vars)
|
return sysconfig.get_path(name, scheme='venv', vars=vars)
|
||||||
|
|
||||||
|
@ -175,9 +173,20 @@ class EnvBuilder:
|
||||||
context.python_dir = dirname
|
context.python_dir = dirname
|
||||||
context.python_exe = exename
|
context.python_exe = exename
|
||||||
binpath = self._venv_path(env_dir, 'scripts')
|
binpath = self._venv_path(env_dir, 'scripts')
|
||||||
incpath = self._venv_path(env_dir, 'include')
|
|
||||||
libpath = self._venv_path(env_dir, 'purelib')
|
libpath = self._venv_path(env_dir, 'purelib')
|
||||||
|
|
||||||
|
# PEP 405 says venvs should create a local include directory.
|
||||||
|
# See https://peps.python.org/pep-0405/#include-files
|
||||||
|
# XXX: This directory is not exposed in sysconfig or anywhere else, and
|
||||||
|
# doesn't seem to be utilized by modern packaging tools. We keep it
|
||||||
|
# for backwards-compatibility, and to follow the PEP, but I would
|
||||||
|
# recommend against using it, as most tooling does not pass it to
|
||||||
|
# compilers. Instead, until we standardize a site-specific include
|
||||||
|
# directory, I would recommend installing headers as package data,
|
||||||
|
# and providing some sort of API to get the include directories.
|
||||||
|
# Example: https://numpy.org/doc/2.1/reference/generated/numpy.get_include.html
|
||||||
|
incpath = os.path.join(env_dir, 'Include' if os.name == 'nt' else 'include')
|
||||||
|
|
||||||
context.inc_path = incpath
|
context.inc_path = incpath
|
||||||
create_if_needed(incpath)
|
create_if_needed(incpath)
|
||||||
context.lib_path = libpath
|
context.lib_path = libpath
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue