我应该在 PyPI 发布的包中测试不受支持的 Django 版本吗?
Posted
技术标签:
【中文标题】我应该在 PyPI 发布的包中测试不受支持的 Django 版本吗?【英文标题】:Should I test for unsupported Django versions in PyPI published packages? 【发布时间】:2015-11-02 00:43:27 【问题描述】:我有一些关于 PyPI 的包,其中一些是其他人实际使用的。
当我放弃对旧 Django 版本的支持时,通知用户的最佳方式是什么(除了更改日志/历史文件)?
编辑:我知道在setup.py
中使用install_requires
,但是如果有人安装我的包,这将安装Django。我认为这是不好的做法,Django 组件不应该安装 Django 本身。其他包作者似乎同意这一点(查看 Django REST Framework),但并非全部(查看 Django 调试工具栏)。
如果 Django 版本不匹配,我应该明确地使应用程序失败吗?我可以把它优雅地放在setup.py
中(不强制安装 Django)吗?其他解决方案(最好是最佳实践)?欢迎输入!
【问题讨论】:
【参考方案1】:您可以在 setup.py 和需求文件中指定您的需求。 假设您正在为高于 django 1.6 的 django 版本提供支持。
from distutils.core import setup
setup(
...
install_requires = [
'django>1.6'
],
)
您也应该将django>1.6
添加到您的需求文件中。
如需进一步指导,请咨询 - documentation
【讨论】:
感谢您指出这一点。我应该补充一点,我同意 Django 包不应该为您安装 Django 的做法(参见 Django REST framework 和其他作为一个很好的例子)。我已将这个答案连根拔起,并将澄清我的问题。以上是关于我应该在 PyPI 发布的包中测试不受支持的 Django 版本吗?的主要内容,如果未能解决你的问题,请参考以下文章
我的模型文件应该保留在不同的包中还是 Django 中的相同模型文件中?