importlib_resourcesPython < 3.7 的importlib.resources标准库模块的backport在 setup.cfg 文件中有以下部分:
[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:
Run Code Online (Sandbox Code Playgroud)
为什么setup_requires包括setuptools?这似乎没有意义,因为:
setup.py 文件的第一行导入setuptools,因此当setup调用该函数并读取指示安装setuptools它的 setup.cfg 文件时,安装已经为时已晚setuptools:
from setuptools import setup
setup()
Run Code Online (Sandbox Code Playgroud)setuptools 已经安装在任何新的 Python 安装上(嗯,仅在 Windows 10 和 MacOS 10.15 和 Python 3.8.0 上测试过):
$ python -V
Python 3.8.0
$ pip list
Package Version
---------- -------
pip 19.2.3
setuptools …Run Code Online (Sandbox Code Playgroud)