summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Bidoul <stephane.bidoul@gmail.com>2023-04-15 11:39:22 +0200
committerGitHub <noreply@github.com>2023-04-15 11:39:22 +0200
commit4f3a4f72697299da1a412cf10c919a989e0692f5 (patch)
treef60c44322c3242c8ea9bea017db926793a9fbfe6
parentdbf4e6842c9603792f6d3944a5c9cec17bd0a92a (diff)
parent2ff2d0e375e163792e5dec8ef48481074c86e90a (diff)
downloadpip-4f3a4f72697299da1a412cf10c919a989e0692f5.tar.gz
Merge pull request #11919 from sbidoul/deprecate-legacy-ignore-config-settings-sbi
Deprecate legacy projects ignoring config settings
-rw-r--r--news/11915.removal.rst3
-rw-r--r--src/pip/_internal/pyproject.py2
-rw-r--r--src/pip/_internal/req/req_install.py9
3 files changed, 13 insertions, 1 deletions
diff --git a/news/11915.removal.rst b/news/11915.removal.rst
new file mode 100644
index 000000000..e54b5d574
--- /dev/null
+++ b/news/11915.removal.rst
@@ -0,0 +1,3 @@
+Using ``--config-settings`` with projects that don't have a ``pyproject.toml`` now print
+a deprecation warning. In the future the presence of config settings will automatically
+enable the default build backend for legacy projects and pass the setttings to it.
diff --git a/src/pip/_internal/pyproject.py b/src/pip/_internal/pyproject.py
index 57fef5707..eb8e12b2d 100644
--- a/src/pip/_internal/pyproject.py
+++ b/src/pip/_internal/pyproject.py
@@ -91,7 +91,7 @@ def load_pyproject_toml(
# If we haven't worked out whether to use PEP 517 yet,
# and the user hasn't explicitly stated a preference,
# we do so if the project has a pyproject.toml file
- # or if we cannot import setuptools.
+ # or if we cannot import setuptools or wheels.
# We fallback to PEP 517 when without setuptools or without the wheel package,
# so setuptools can be installed as a default build backend.
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
index a0ea58bd1..d01b24a91 100644
--- a/src/pip/_internal/req/req_install.py
+++ b/src/pip/_internal/req/req_install.py
@@ -486,6 +486,15 @@ class InstallRequirement:
)
if pyproject_toml_data is None:
+ if self.config_settings:
+ deprecated(
+ reason=f"Config settings are ignored for project {self}.",
+ replacement=(
+ "to use --use-pep517 or add a "
+ "pyproject.toml file to the project"
+ ),
+ gone_in="23.3",
+ )
self.use_pep517 = False
return