【问题标题】:How to specify explicit python packaging dependencies in setup.py? [duplicate]如何在 setup.py 中指定显式 python 打包依赖项? [复制]
【发布时间】:2013-03-27 21:50:11
【问题描述】:

我想创建一个 python 包mycode,使用pip (setup.py) 安装,它依赖于另一个包base。为了合并这个包依赖,我遵循setup.py instructions 并在setup.pysetup 函数中创建了一个条目,内容如下:

'requires': ['base']

在我用python setup.py sdist创建包后,我尝试通过pip install安装它,它成功安装了mycode,但没有来自basesetup.py 中的 requires 条目似乎被忽略了。

有什么想法吗?

【问题讨论】:

    标签: python python-2.7 pip setup.py


    【解决方案1】:

    您需要指定install_requires,请参阅New and changed setup keywords

    requires 字段过于模糊和不精确,因此 setuptools 民间(所以 easy_installpip 从中演变而来)添加了更具体的字段。此外,还有setup_requirestest_requires 字段用于setup.py 和运行测试所需的依赖项。

    【讨论】:

    • 谢谢,这似乎有效!但这是否意味着我链接的文档不可用?这不是“官方”文档的一部分吗?
    • pip 遵循 setuptools 的包装世界。 setuptoolsdistribute 分支有good documentation,然后还有Hitchhikers Guide to Packaging
    • 但是,是的,distutils 文档对于 distutils 是正确的,但 distutils 已被 setuptools 留下。有/曾经有一个distutils2 正在努力解决这个问题,但我认为这项工作目前已经停滞不前。
    • 好吧,我可能明白了。由于pip 等(和setup.py)不是标准python 库的一部分,或者已被上述包更改,它超出了“标准”-python 的范围,我必须查找具体的网站。 Python 打包确实令人困惑。我在拼命等待distutils2...
    • 是的,很遗憾distutils2 的努力停滞不前。 distribute fork 的很多经验都投入到了这项工作中,我寄予厚望,希望它能够成为 3.x 系列的 Python 标准库。
    猜你喜欢
    • 2012-05-21
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多