首页 > 解决方案 > 如何强制 pip install 软件包从 setup.py 急切地更新依赖项

问题描述

要解决的问题

如何强制 pip 从包的 setup.py 中安装最新版本的依赖项

笔记

这不能通过这样做来解决,因为这样做pip install --upgrade-strategy eager的系统不在我们的控制范围内。这是一个问题的原因是因为它是在肮脏的环境中安装的(长话短说——是的,正确的解决方案是使用干净的环境,不幸的是,我们无法在当前环境中控制或强制执行它。最终会正确完成方式,但不会很快)。

有没有办法在 setup.py 中指定 pip 应该急切地更新依赖项?

解决方法

手动将东西固定到版本,例如"numpy>=1.18.1",旧的脏环境中可能不存在的东西,所以 pip 必须安装它们

当前 setup.py 供参考

from setuptools import setup

setup(
    # ...
    install_requires=[
        #...
        # Two examples of such packages to protect against using a dirty version
        # by forcing to a higher version
        'matplotlib>=3.2.1',
        'numpy>=1.18.1',
        #...
    ],
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Intended Audience :: Religion",
    ],
    python_requires='>=3.7',
)

标签: pipsetuptools

解决方案


推荐阅读