您现在的位置是:亿华云 > 人工智能
使用 Psycopg2 时遇到的两个坑
亿华云2025-10-08 23:31:43【人工智能】9人已围观
简介我在使用 psycopg2-binary 遇到两个坑,写出来,看看你是否踩过,如果没有,可以看一下,以后避免跳坑。坑1. 尽可能不要使用 psycopg2-binary官方文档说了,psycopg2-
我在使用 psycopg2-binary 遇到两个坑,使用写出来,个坑看看你是使用否踩过,如果没有,个坑可以看一下,使用以后避免跳坑。个坑
坑1. 尽可能不要使用 psycopg2-binary
官方文档说了,使用psycopg2-binary 不需要编译,个坑可以认为是使用绿色版,是个坑为了初学者用 Python 快速和 PostgreSQL 进行连接而用的, 如果你在 pypi 上发包,使用也不应该依赖 psycopg2-binary,个坑应该直接依赖 psycopg2。使用
我没听,个坑直接在生产环境用了 psycopg2-binary,使用版本 2.7.5 ,结果就中招了,在使用 server-side-cursor (named cursor)的时候,经常出现读数据库卡住不动的企商汇情况,怀疑跟这个版本的 bug 有关系。
为啥不直接从源代码安装,因为总是报 pg_config not found 之类的错误,而生产环境,安装一个 postgresql-lib 是相当麻烦的。
我想这也是 python 的缺点之一,依赖的包很多需要编译,而编译就会出现缺少各种各样的包的问题,这样就不能称之为跨平台了,我在 mac 上写好,弄到 linux 上,还得折腾一大堆,云服务器java 这一点就很好。
最后怎么解决的呢,升级到最新版本的 psycopg2-binary 就解决了,如果再出现,只能老老实实安装 postgresql-lib。
坑2. 尽可能不要 pip install whl 文件
这次我离线下载了 psycopg2-binary 的文件,psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl
我分别试了两种方法,第二种成功:
方法一:
pip install psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl方法一在执行 import psycopg2.extras 时报错,方法二没有。
方法二:
pip install psycopg2-binary --no-index -f ./足以说明,使用 pip 最好还是联网环境。
最后的话
在使用开源软件包时,一定要看下官方文档的说明,尤其那些注意事项,这样就可以节省很多排错时间。
很赞哦!(56253)
相关文章
- .com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
- 掌握这些Redis技巧,让你掌控住千亿数据量
- 使用 Linux 上的开源财务工具 Skrooge 管理你的预算
- 使用 Python 下载的11种姿势,一种比一种高级
- 众所周知,com域名拥有最大的流通市场和流通历史。最好选择com域名,特别是在购买域名时处理域名。其次可以是cn域名、net域名、org域名等主流域名,现在比较流行的王域名和顶级域名,都是值得注册和投资的。
- 二级域名格式是什么样的?如何设置二级域名?
- 深入理解 MySQL 索引底层原理
- 今日腊八,首枚腊八域名注册在1996年!
- 旧域名的外链是否会对新建站点产生影响?
- MySQL千万级大表优化,看这一篇就忘不掉了!