Psycopg2:升级还是不升级
Psycopg2: to upgrade or not to upgrade
我刚刚将我的开发虚拟环境从 Django 1.11 升级到最新的 2 版本 (2.2.8),并将各种知名应用程序和 django 支持也升级到最新。修复各种向后不兼容后,一切似乎都很好。
现在我正在查看 pip list -o
结果,看看哪些内容没有升级。大多数是我可以自己查看的应用程序代码。但是,psycopg2 是 Django 和 Postgresql(我刚刚升级到 12)之间 "plumbing" 的重要组成部分。我安装了 2.7.3.2。最新的是 2.8.4。我对升级意味着什么、做什么或修复什么,以及任何问题可能是什么样子都没有任何感觉。
如果 Django 版本对已安装的内容不满意,我认为升级安装 Django 会升级 Psycopg2 是否正确?在哪里可以找到针对此版本 Django 的推荐内容?更一般地说,我是否应该升级它,如果升级到最新的 2.7 或最新的 2.8? (FWIW 我注意到 Centos 7.7 仅发布了 2.5.1!)
不,除非需要特定功能/错误修复,否则无需升级。
虽然我个人的偏好是跟上最新的版本,尤其是在dev中(当然,审查所有依赖项都支持它)。
是,如果你想使用 Postgresql 12,你需要升级 psycopg2
,作为对 postgresql 12
的支持仅自 psycopg2 2.8.4.
后添加
这样的核心包开发得很好,保持向后兼容性,基本功能几乎没有变化。
还有一点要注意:psycopg2 被分成两个包(2.8 之后更加独立)- psycopg2
和 psycopg2-binary
。为了不深入细节,建议在 requirements.txt
中设置选项(如果您使用的是 virtualenv):
- 开始 -
psycopg2-binary
- 如果有任何 ssl 问题,或者想从源代码构建 - 然后设置
psycopg2
看起来您正在使用系统范围的 python 软件包安装,由 os 分发代表ositories 提供。
虽然不建议仓促切换,但肯定会建议考虑使用 virtualenv(使用 pipenv 或 virtualenwrapper 等帮助程序)为每个项目分别提供良好的本地 python 环境,并直接从 pypi 且未绑定到 os 供应商。
我刚刚将我的开发虚拟环境从 Django 1.11 升级到最新的 2 版本 (2.2.8),并将各种知名应用程序和 django 支持也升级到最新。修复各种向后不兼容后,一切似乎都很好。
现在我正在查看 pip list -o
结果,看看哪些内容没有升级。大多数是我可以自己查看的应用程序代码。但是,psycopg2 是 Django 和 Postgresql(我刚刚升级到 12)之间 "plumbing" 的重要组成部分。我安装了 2.7.3.2。最新的是 2.8.4。我对升级意味着什么、做什么或修复什么,以及任何问题可能是什么样子都没有任何感觉。
如果 Django 版本对已安装的内容不满意,我认为升级安装 Django 会升级 Psycopg2 是否正确?在哪里可以找到针对此版本 Django 的推荐内容?更一般地说,我是否应该升级它,如果升级到最新的 2.7 或最新的 2.8? (FWIW 我注意到 Centos 7.7 仅发布了 2.5.1!)
不,除非需要特定功能/错误修复,否则无需升级。
虽然我个人的偏好是跟上最新的版本,尤其是在dev中(当然,审查所有依赖项都支持它)。
是,如果你想使用 Postgresql 12,你需要升级 psycopg2
,作为对 postgresql 12
的支持仅自 psycopg2 2.8.4.
这样的核心包开发得很好,保持向后兼容性,基本功能几乎没有变化。
还有一点要注意:psycopg2 被分成两个包(2.8 之后更加独立)- psycopg2
和 psycopg2-binary
。为了不深入细节,建议在 requirements.txt
中设置选项(如果您使用的是 virtualenv):
- 开始 -
psycopg2-binary
- 如果有任何 ssl 问题,或者想从源代码构建 - 然后设置
psycopg2
看起来您正在使用系统范围的 python 软件包安装,由 os 分发代表ositories 提供。
虽然不建议仓促切换,但肯定会建议考虑使用 virtualenv(使用 pipenv 或 virtualenwrapper 等帮助程序)为每个项目分别提供良好的本地 python 环境,并直接从 pypi 且未绑定到 os 供应商。