【问题标题】:Should reusable django apps use `zip_safe=False` in setup.py?可重用的 django 应用程序是否应该在 setup.py 中使用 `zip_safe=False`?
【发布时间】:2016-04-11 22:53:51
【问题描述】:

我不确定可重复使用的 django 应用是否应该在 setup.py 中使用 zip_safe=False

如果 django 应用程序没有指定这一点,会发生什么中断?

【问题讨论】:

    标签: django setup.py egg


    【解决方案1】:

    EDIT 参数zip_safe=False 在 Django 1.7.11 之前很重要,但从 Django 1.8 开始可以省略它。自 2015 年 12 月以来,主流不再支持 Django 1.7,现在通常可以从应用程序设置中删除此参数。


    由于management/commands/*.py 以及 html 模板等数据文件而使用它,而不依赖于 setuptools 的自动检测。相反的zip_safe=Truebdist_egg 命令的致命问题,因为在压缩安装中找不到管理命令。

    zip_safe autodetection 来自 setuptools 有时可能只是偶然的,因为管理命令的存在未被识别。代码中的微小更改可能会导致您的应用程序将被某些版本的安装程序压缩。参数 zip_safe 甚至已从 Django setup.py 中删除,并再次添加以确保安全in 2013

    【讨论】:

    • 我找不到“setuptools 的自动检测”的更多详细信息。你知道这里发生了什么样的猜测吗?
    • 我在答案中添加了一个关于 zip_safe 详细信息的链接。记得这样的问题不早了,可能是某个Django项目的一百个fork之后,但是很尴尬,不清楚。
    • 我读到你的回答就像“是的,使用 zip_safe=False”。关于可重用应用程序的文档没有这样说。我开了一张票:code.djangoproject.com/ticket/26489
    • 我检查了当前的 Django。参数zip_save 仅在 Django 1.7.11 之前是必需的,但从 1.8 开始,它并不重要,并且可以在压缩安装中找到管理命令。
    • 我们可以等待任何人知道新版本中的问题,但这可能只是一个错误,而不是一个功能。
    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    相关资源
    最近更新 更多