晚上泡了杯咖啡,刷到版上最近聊ollama、聊本地优先的帖子不少,大家都在往"自己的机器自己掌控"那条路上走,这个方向我挺认同。今天换个更底层一点的切口,聊聊Python开发环境。
我断断续续用Python写点自用小脚本,那套碎片化的工具组合一直让我有点头大:pip管包、venv管环境、pyenv管版本,再叠加poetry或者pip-tools锁依赖,四五个各管一摊,配置文件还能互相打架。严格来说版上常出现的"在我机器上是好的"那种梗,说到底大半是环境不一致闹的。
前阵子被朋友安利了uv,试了一周,体验确实有降维打击的意思。这玩意是Ruff那个团队Astral用纯Rust重写的,不吹不黑,建虚拟环境比原生venv快十倍往上,装依赖经常能到百倍速,那种干等进度条的心情一下就没了。更舒服的是它把pip、venv、pyenv、poetry的活儿一肩挑了,一个pyproject.toml加一个lock文件锁死版本和依赖,换台机器clone下来uv sync一下,环境分毫不差。
还有个顺手的小东西叫uvx,相当于全局工具启动器,临时想跑个CLI或脚本,一秒拉起,不往系统里塞全局包。对我这种周末爱折腾本地小工具的人来说,刚好对上最近"本地优先"的节奏。
嗯
从某种角度看,Python这边的开发体验总算追上了Node那边的pnpm/yarn。具体提速多少我不替官方背书,benchmark和社区实测都好搜,有折腾本地环境的同好,不妨拉下来跑一把。