【问题标题】:Any reason setup.py install_requires should include setuptools?任何理由 setup.py install_requires 应该包括 setuptools?
【发布时间】:2015-11-05 23:50:11
【问题描述】:

我注意到一些 python 项目在所需模块列表中包含setuptools。没有它,我的代码可以正常安装和执行。

我可能记错了,但我认为install_requires列表的目的是指定安装后需要执行的模块,而不是在安装期间。

是否有一些特殊的用例可以安装setuptools

install_requires=[
    'setuptools',
    'requests',
],

【问题讨论】:

    标签: python setuptools setup.py


    【解决方案1】:

    如果您的项目使用pkg_resources,例如从entry points 加载资源,它的运行时依赖于setuptools(包括pkg_resources 包)。

    由于 Django 的 setup.py 不包含 setuptools 作为要求,但确实使用了 pkg_resouces,所以这个 can lead to confusion

    【讨论】:

    • 感谢您的回答。如果理解正确的话,在某些情况下setuptools在安装时可用,但在执行环境中不可用,因此需要安装到执行环境中。
    • 如果发行版是从wheel 或 egg 安装的,在安装过程中甚至不需要 setuptools。但是当然,如​​果 setuptools 在安装依赖它的包之后被卸载,install_requires 将无能为力。
    猜你喜欢
    • 2016-05-06
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 2018-11-03
    • 1970-01-01
    • 2012-04-06
    相关资源
    最近更新 更多