UV和Mamba包管理工具
UV和Mamba包管理工具
最近看朋友写的文章提到UV,UV这个最开始我是以为是User Visit的缩写,是指用户访问网站的行为,结果后来才知道,Python有一款包管理工具也叫这个名字。还有这个Mamba也是最新才发现的,在dy也是看到过次。最近才了解到Python的一个包管理器也叫这个名字。目前我自己在用的是pip和conda。所以就试试看。
一、UV
1、关于UV
UV是一款极其快的Python包管理工具,是由rust语言开发的。旨在替代传统的 pip
、pip-tools
、virtualenv
等工具。有以下亮点。
- 提供更快的依赖解析和安装速度(比
pip
快 10-100 倍) - 提供全面的项目管理,具有通用的锁文件
- 运行脚本,支持内联依赖元数据
- 安装和管理Python的版本
- 包括一个pip兼容接口,可通过熟悉的CLI提高性能。
- 支持可扩展项目的Cargo风格工作区。
- 无需Rust或Python即可通过curl或pip安装。
官方网站:https://docs.astral.sh/uv/
github地址:https://github.com/astral-sh/uv
2、UV安装
官方的推荐方式是直接运行安装脚本进行安装
1 | curl -LsSf https://astral.sh/uv/install.sh | sh |
window 操作系统使用powershell去安装
1 | powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" |
尽量使用管理员身份去运行powershell,不然可能导致命令运行失败。
安装完成后输入一下命令来验证是否成功
1 | uv --version |
3、UV使用
Python版本
UV安装Python可以在各版本之间切换。可以使用uv的二级子命令去对Python的版本进行管理,有以下相关子命令
1 | Commands: |
如果需要安装多个Python版本
1 | uv python install 3.10 3.11 |
卸载python版本
1 | uv python uninstall 3.11 |
在当前文件夹使用指定 Python 版本:
1 | $ uv python pin 3.11 |
uv可以缓存多个python解析的版本
1 | uv python list |
项目管理
直接使用uv init 命令就可以去创建一个基于uv管理的新项目。二级命令如下
1 | Options: |
使用init去初始化一个项目
1 | uv init hello-world |
可以在创建工程的时候直接指定python解析的版本
1 | uv init test -p 3.11 |
激活虚拟环境
1 | .venv\Scripts\activate |
库管理
下载第三方的库可以使用
1 | uv add pandas |
移除某个库
1 | uv remove pandas |
查看虚拟环境中的环境依赖树
1 | uv tree |
也可以通过uv pip去下载三方库
1 | uv pip install pandas |
注:通过uv pip安装的库,需要通过uv pip list去查看
1 | uv pip list |
使用uv pip安装的第三方库是不会记录在pyproject.toml文件中的。
在使用别人的工程项目时可以一键克隆别人的环境
1 | uv sync |
二、Mamba
1、关于Mamba
Mamba 是一个用 C++ 重新实现的 Conda 包管理器。它旨在提供比传统 Conda 更快的包管理和依赖解析速度。Mamba 的核心部分使用 C++ 编写,以确保高效性和性能。同时,Mamba 也使用了 Python 和其他一些辅助语言来实现其功能。
官方地址:https://mamba.readthedocs.io/
github地址:https://github.com/mamba-org/mamba
使用了一段时间个人感觉还不错。
2、Mamba安装
因为这些工具基本都在国外的网站上。uv安装也是,挺慢的,所以这里的mamba的安装我们直接使用国内的镜像去安装。mamba官方是提供了安装脚本去安装,这里就不在去使用脚本,直接用国内镜像比较快速。
安装最新的 Mamba,建议通过安装 Miniforge 来实现,因为 Miniforge 默认包含 Mamba。
miniforge的github地址:https://github.com/conda-forge/miniforge。
miniforge下载南京大学镜像:https://mirror.nju.edu.cn/github-release/conda-forge/miniforge/LatestRelease/。下载对应操作系统的安装包即可。
miniforge不仅包括 Mamba,还包括 Python、conda 和其他工具,适合数据科学项目。
如果已有 Anaconda,建议先卸载,以避免渠道冲突。
这里以window操作系统为例,选择x86的exe文件直接下载安装即可
在安装的时候尽量不要选择C盘,因为后面这个文件目录会越来越大。
安装成功之后,需要把mamba的安装目录的bin文件目录和script目录添加到系统的环境变量中方便后续在命令行直接使用。
1、下载miniforge的Linux安装脚本
1 | wget -qO- https://mirror.nju.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-25.3.0-1-Linux-x86_64.sh |
或者是直接去镜像站下载Linux版本的安装脚本,如下。
2、给脚本赋予可执行权限
1 | chmod +x Miniforge3-25.3.0-1-Linux-x86_64.sh |
3、执行安装脚本
1 | sh Miniforge3-25.3.0-1-Linux-x86_64.sh |
根据提示进行安装即可。
4、验证安装是否成功,运行一下命令,出现mamba的版本信息就安装成功了。
1 | mamba info |
3、Mamba使用
创建和激活一个虚拟环境。
1 | mamba create -n test python=3.9 |
激活环境
1 | mamba activate test |
退出当前激活的环境
1 | deactivate |
安装软件包
1 | mamba install 包名 |
查看当前环境中已经安装的包
1 | mamba list |
查看环境信息
1 | mamba info --envs |