安装特定版本的setuptools作为软件包的依赖项

大象:

我的软件包具有依赖项中的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_requiressetup.py

pip这样的工具将使用pyproject.toml中的版本来构建项目。但是,如果有任何依赖关系在其要求中具有最新版本的setuptools,则将使用最新版本来安装依赖项。另外,环境将保留上次安装的版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

APT如何选择要安装的特定软件包以提供作为依赖项所需的虚拟软件包?

指定在哪里安装distribute / setuptools软件包的“ tests_require”依赖项

Debian软件包,安装依赖项

如何在不安装的情况下下载特定版本的Debian软件包及其所有依赖项(包括推荐的软件包)?

查看哪个软件包具有另一个已安装软件包作为依赖项

安装特定版本的debian软件包

如何安装特定的软件包版本

yum需要较旧版本的软件包作为依赖项

dpkg不会安装具有较新版本依赖项的软件包

软件包安装需要较新版本的依赖项

使用GitHub上的软件包作为依赖项而无需安装Git

不能通过“ apt-get autoremove”删除作为依赖项安装的软件包

如何在整个系统而不是作为依赖项安装erlang软件包?

依赖项的软件包版本无效

使用“ npm install”安装依赖项时忽略特定的软件包

自动安装软件包/依赖项以安装任意软件包?

如何使用npm软件包作为maven依赖项?

Composer 不会安装软件包依赖项

Composer不会安装私有软件包依赖项

在Atom中安装软件包依赖项

为dpkg软件包安装依赖项?

安装带有依赖项的go软件包

如何仅安装软件包的依赖项?

无法安装nuget软件包;DNXCore依赖项混淆

pip不安装我的软件包依赖项

如何从Packagist安装Satis软件包依赖项

易于安装比指定为依赖项更多的软件包

安装无依赖项的npm软件包

是否可以从apt中知道该软件包是显式安装还是作为其他软件包的依赖项安装的?