The importlib_resources
backport for Python < 3.7 of the importlib.resources
standard library module has the following section in the setup.cfg file:
[options]
python_requires = >=2.7,!=3.0,!=3.1,!=3.2,!=3.3
setup_requires =
setuptools
wheel
install_requires =
pathlib2; python_version < '3'
typing; python_version < '3.5'
packages = find:
Why does setup_requires
include setuptools
? This does not seem to make sense since:
the first line of the setup.py file imports
setuptools
, so by the time thesetup
function is called and reads the setup.cfg file that instructs to installsetuptools
it is already too late to installsetuptools
:from setuptools import setup setup()
setuptools
is already installed on any fresh Python installation (well, only tested on Windows 10 and MacOS 10.15 with Python 3.8.0):$ python -V Python 3.8.0 $ pip list Package Version ---------- ------- pip 19.2.3 setuptools 41.2.0 WARNING: You are using pip version 19.2.3, however version 19.3.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.