diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2021-10-22 13:16:50 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2021-10-22 14:03:18 -0400 |
commit | 18b997db3e74d179af12175bff3d1a37006017fc (patch) | |
tree | cd42411266377ede30d98843adc2c8a5c62b704b | |
parent | fee9d17d2a9113dbdc4bcfeca8b040af75bcf2f9 (diff) | |
download | python-setuptools-git-debt/deprecate-setup-requires.tar.gz |
Emit a SetuptoolsDeprecationWarning when setup_requires is used. Ref #2823.debt/deprecate-setup-requires
-rw-r--r-- | changelog.d/2823.change.rst | 1 | ||||
-rw-r--r-- | pytest.ini | 25 | ||||
-rw-r--r-- | setuptools/__init__.py | 6 |
3 files changed, 21 insertions, 11 deletions
diff --git a/changelog.d/2823.change.rst b/changelog.d/2823.change.rst new file mode 100644 index 00000000..69db4c0d --- /dev/null +++ b/changelog.d/2823.change.rst @@ -0,0 +1 @@ +Officially deprecated support for ``setup_requires``. Users are encouraged instead to migrate to PEP 518 ``build-system.requires`` in ``pyproject.toml``. Users reliant on ``setup_requires`` should consider pinning to this major version to avoid disruption. @@ -8,21 +8,24 @@ doctest_optionflags=ALLOW_UNICODE ELLIPSIS # workaround for warning pytest-dev/pytest#6178 junit_family=xunit2 filterwarnings= - # Fail on warnings - error + # Fail on warnings + error - ## upstream + ## upstream # Suppress deprecation warning in flake8 ignore:SelectableGroups dict interface is deprecated::flake8 # Suppress deprecation warning in pypa/packaging#433 ignore:The distutils package is deprecated::packaging.tags ## end upstream - # https://github.com/pypa/setuptools/issues/1823 - ignore:bdist_wininst command is deprecated - # Suppress this error; unimportant for CI tests - ignore:Extraction path is writable by group/others:UserWarning - # Suppress weird RuntimeWarning. - ignore:Parent module 'setuptools' not found while handling absolute import:RuntimeWarning - # Suppress use of bytes for filenames on Windows until fixed #2016 - ignore:The Windows bytes API has been deprecated:DeprecationWarning + # https://github.com/pypa/setuptools/issues/1823 + ignore:bdist_wininst command is deprecated + # Suppress this error; unimportant for CI tests + ignore:Extraction path is writable by group/others:UserWarning + # Suppress weird RuntimeWarning. + ignore:Parent module 'setuptools' not found while handling absolute import:RuntimeWarning + # Suppress use of bytes for filenames on Windows until fixed #2016 + ignore:The Windows bytes API has been deprecated:DeprecationWarning + + # https://github.com/pypa/setuptools/issues/2823 + ignore:setup_requires is deprecated. diff --git a/setuptools/__init__.py b/setuptools/__init__.py index 9d6f0bc0..a623262e 100644 --- a/setuptools/__init__.py +++ b/setuptools/__init__.py @@ -4,6 +4,7 @@ from fnmatch import fnmatchcase import functools import os import re +import warnings import _distutils_hack.override # noqa: F401 @@ -144,6 +145,11 @@ def _install_setup_requires(attrs): # Honor setup.cfg's options. dist.parse_config_files(ignore_option_errors=True) if dist.setup_requires: + warnings.warn( + "setup_requires is deprecated. Supply build " + "dependencies using PEP 517 pyproject.toml build-requires.", + SetuptoolsDeprecationWarning, + ) dist.fetch_build_eggs(dist.setup_requires) |