Python 虚拟环境管理的最佳实践:从 venv 到 uv
Raj Kumar | 2026-09-23T11:19:00 | Python
Python 的虚拟环境工具太多了。聊聊我的选择和理由。
Python 的虚拟环境和包管理工具多到让人头大,我用过大部分,最后稳定在了 uv 上。 ## 各工具对比 **venv**:标准库自带,零安装。缺点是只管虚拟环境不管依赖锁定。 **poetry**:依赖解析强,有 lock 文件。缺点是慢,安装依赖经常等好几分钟。 **conda**:科学计算生态好,能管理 C 库。环境占用大,不适合 Web。 **uv(推荐)**:Rust 写的,安装依赖速度是 pip 的 10-100 倍。完全兼容 pip,支持 lock 文件,还能管理 Python 版本。 ## 为什么选 uv 最打动我的是速度。`pip install` 大项目 2-3 分钟,`uv pip install` 10 秒。迁移成本几乎为零: ```bash # 就改一个前缀 pip install -r requirements.txt uv pip install -r requirements.txt ``` ## 我的工作流 ```bash uv init myproject && cd myproject uv add flask sqlalchemy redis uv run flask run # 不需要 activate ``` `uv run` 不需要 source activate,直接运行。 ## 总结 - 小脚本:venv + pip - 正经项目:uv - 数据科学:conda - 已用 poetry 的老项目:暂不迁移