项目升级建议

20 views
Skip to first unread message

刘鑫

unread,
Aug 18, 2025, 2:42:51 AMAug 18
to Python.cn@google
一般来说,我不太喜欢讲”xx已经过时了,赶紧用xx“这样的话,主要是年轻时读这类文章上的当比较多。
不过今年有两个python库的升级,我确实建议同行们试一试。
一个是把 PG 客户端库从 psycopg2 和 asyncpg 统一替换为 psycopg。
另一个是把 requests 和 requests-async 替换成 httpx。
这两个升级的原因是一致的。psycopg(实际上目前版本相当于psycopg3)同时提供了同步和异步版本的数据访问,而httpx提供了同步和异步方式的http客户端,而这两个库的使用接口与它们对应的同步和异步客户端库基本一致。

这个好处首先是对于程序员来说降低一点复杂度,其次对于类似 sqlalchemy 的dburl设置,不用再操心应该是 postgresql+asyncpg:// 还是 postgres+psycopg2:// 现在统一写成 postgresql+psycopg 就可以。而支持异步的高版本sqlalchemy可以自己根据 Session或AsyncSession使用对应的版本。

Python的异步编程模型确实不完美,它的侵入性很强,在FastAPI越来越流行的时代,相当多的程序员并没有意识到自己写的代码其实并不符合异步协程的要求,对性能是有害的。而AI模型普遍都还没有更新这个知识,让它自己实现相关功能,大部分情况下会基于 psycopg2 和 requests 生成代码。而我们人类应该有这个判别能力,应该去指导 AI 把事情做对。

--

……

刘鑫 Mars LIu

yi huang

unread,
Aug 18, 2025, 5:41:46 AMAug 18
to pyth...@googlegroups.com
nice, httpx 已经用上了,psycopg还不知道,🙏

 
--

……

刘鑫 Mars LIu

--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
---
您收到此邮件是因为您订阅了Google群组上的“python-cn(华蟒用户组,CPyUG 邮件列表)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+...@googlegroups.com
如需查看此讨论,请访问 https://groups.google.com/d/msgid/python-cn/CACGJLu5Mva3EPbC6MWUCZe2wMU880ikZPRwkA%3DGzY3tXH8592Q%40mail.gmail.com

shhgs

unread,
Aug 18, 2025, 4:18:49 PMAug 18
to pyth...@googlegroups.com
异步有异步的坑,threading 有 threading的坑。没有完美的解决方案呀。 

Rex Zhang

unread,
Aug 19, 2025, 2:10:57 AMAug 19
to pyth...@googlegroups.com

就 psycopg 而言,迁移的价值还包含其整合了 psycopg2 和 psycopg2-binary. 毕竟很多时候并没有必要自己编译本地包

Reply all
Reply to author
Forward
0 new messages