可重用的 Django 应用程序是否应该在 setup.py 中使用 `zip_safe=False`?

Should reusable django apps use `zip_safe=False` in setup.py?

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

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

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 命令的致命问题,因为在压缩安装中找不到管理命令。

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