跳转到内容
返回首页

使用 Conda 和 uv 实现灵活的 Python 环境管理

目录

Open 目录

背景

Python 项目种类繁多,从数据分析、机器学习到 Web 开发和小型工具脚本,每类项目对 Python 版本、环境隔离和依赖管理的需求各异。简单的项目可能仅需 pip 管理依赖,但随着项目规模扩大或复杂度增加,版本冲突和环境膨胀问题逐渐显现。

例如,数据科学项目常依赖庞大的机器学习库(如 TensorFlow 或 PyTorch),需要稳定的环境隔离;而 Web 开发或轻量级脚本项目则更注重轻便、快速的依赖管理和灵活的 Python 版本切换。传统的 conda 虽然功能强大,但其环境体积动辄数 GB,显得过于臃肿。基于此,我优化了环境管理方案,采用 Condauv 组合,取代了原有的 conda-pyenv-poetry 组合,以实现更高效、轻量的 Python 环境管理。

我的目标是:

Conda

Conda 是一个开源的包管理和环境管理系统,最初是为 Python 数据科学项目设计的,但现在已经支持多种编程语言(如 R、Node.js、Java 等)。它由 Anaconda 公司开发,广泛用于数据科学、机器学习和科学计算领域。

安装与配置

推荐使用 Miniforge,这是针对 conda-forge 频道的轻量级 Conda 发行版,预设以下功能:

配置优化

# 禁用 base 环境自动激活,避免干扰其他 Python 环境
conda config --set auto_activate_base false

# 验证 Conda 安装:
conda --version
mamba --version

注意:在 Windows 上,确保 Conda 的 PATH 优先级低于 uv 提供的 Python 路径,以避免版本冲突。可以在系统 PATH 中调整顺序,将 uv 的路径置于 Conda 之前。

uv

uv 是一个用 Rust 编写的现代 Python 包管理器,集成了 Python 版本管理、虚拟环境创建和依赖管理的功能,性能远超 PyenvPoetry 等其他工具。其核心优势包括:

安装与配置

安装 UV

配置 UV


本文使用“CC BY-NC-SA 4.0”进行许可。商业转载请联系站长获得授权。非商业转载请注明本文出处及文章链接。如果您混合、转换或者基于本作品进行创作,您必须基于相同的协议分发您贡献的作品。

分享这篇文章到:

上一篇
2024 年工作总结
下一篇
转载 | 中文的常态与变态