我刚刚将我的开发虚拟环境从 Django 1.11 升级到最新的 2 版本 (2.2.8),并将各种知名应用程序和 django 支持也升级到最新版本。修复了各种向后不兼容问题后,一切似乎都很好。
现在我正在查看 pip list -o
结果,看看哪些内容尚未升级。大多数是我可以自己检查的应用程序代码。然而,psycopg2 是 Django 和 Postgresql(我刚刚升级到 12)之间“管道”的一个重要部分。我安装了2.7.3.2。最新的是2.8.4。我对升级的含义、作用或修复以及任何问题可能是什么样子没有任何感觉。
如果 Django 版本对已安装的内容不满意,我是否可以假设升级安装 Django 会升级 Psycopg2?在哪里可以找到此版本 Django 的推荐内容?更一般地说,我是否应该升级它,如果升级到最新的 2.7 还是最新的 2.8? (FWIW 我注意到 Centos 7.7 发布的版本仅为 2.5.1!)
最佳答案
不,除非需要特定功能/错误修复,否则无需升级。
虽然我个人的偏好是跟上最新版本,尤其是在开发中(当然,检查所有依赖项都支持它)。
是,如果您想使用 Postgresql 12,则需要升级 psycopg2
,因为对 postgresql 12
的支持仅在psycopg2 2.8.4 .
此类核心包开发良好,保持向后兼容性,基本功能几乎没有变化。
还有一点需要注意:psycopg2 被分为两个包(2.8 之后更加独立) - psycopg2
和 psycopg2-binary
。为了不深入细节,建议在 requirements.txt
中设置选项(如果您使用的是 virtualenv):
- 开始 -
psycopg2-binary
- 如果有任何 ssl 问题,或者想要从源代码构建 - 然后设置
psycopg2
看起来您正在使用系统范围的 python 软件包安装,由操作系统分发存储库提供。
虽然不建议急于切换,但绝对建议考虑使用 virtualenv(带有 pipelinenv 或 virtualenwrapper 等帮助程序),为每个项目单独拥有良好的本地 python 环境,并直接从 pypi 安装包。并且不受操作系统供应商的约束。
关于django - Psycopg2:升级或不升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59303269/