我的软件包具有依赖项中的setuptools。安装软件包时,我试图限制setuptools的版本。该软件包在setup.py中具有以下限制:
setup(
setup_requires=[
'setuptools==50.2.0',
'pip>=19,!=20.0,!=20.0.1,<21'
],
...
并且在pyproject.toml中具有相同的限制:
[build-system]
requires = ["setuptools==50.2.0", "pip>=19,!=20.0,!=20.0.1,<21", "wheel"] # PEP 508 specifications.
但是,使用pip安装我的软件包时,它将下载最新的setuptools 50.3.0。
为什么忽略要求?如何使其不安装最新版本?
多亏了答案和评论,我可以得出一个结论。
要使用特定版本的setuptools就必须有它在两个位置-在pyproject.toml,并在年初install_requires的setup.py。
像pip这样的工具将使用pyproject.toml中的版本来构建项目。但是,如果有任何依赖关系在其要求中具有最新版本的setuptools,则将使用最新版本来安装依赖项。另外,环境将保留上次安装的版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句