几个月前发现 pyenv 这个 python 版本管理工具,发现对于 python 版本的管理非常好用,但是随着最近 pyenv 作者的一些个人原因(记错了,是 pipenv),以及 pyenv 自身的一些问题,比如当我使用 pdm 创建虚拟环境后,输入 python 命令,却还总是使用 pyenv 的 python。让我开始想尝试其他虚拟环境管理器。
最近 ruff 的团队推出了他们的 python 虚拟环境管理器。简单试用了一下,虽然很快,并且不依赖 python,但是使用的过程中有些地方感觉挺莫名其妙的,比如安装依赖的时候要指定 uv pip install,这个 pip 就让我很不舒服,虽然能让人一眼就明白是在安装 python 的依赖,但是作为一个 python 的包管理器,直接 install 不就好了吗?难不成后面还要支持其他语言,做一个 uv go install、uv npm install 吗?而且命令里虽然是用的 pip 安装包,但创建出来的 python 虚拟环境却不带 pip。此外,内置的 pip-compile 工具感觉也不如 pdm、poetry 那样将直接写到 pyproject.toml 里面直观。
想起之前用过的 conda。anaconda 太大了,况且我也不做数据科学相关的活。于是就在 miniconda 和 micromamba 之间抉择。在用法相同的工具里比较的话,感觉还是 micromamba 更快一点,所以还是决定使用 micromamba。
安装 Micromamba
在 Linux 下安装 Micromamba 很简单,只需要执行这条命令就可以自动安装:
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)

安装完成后可以设置个 conda 别名,使习惯使用 conda 的人更方便使用。将下面这段命令粘贴到你所使用的 SHELL 的交互式配置文件中,例如 ~/.bashrc 或者 ~/.zshrc:
alias conda=micromamba
Tip
输入
micromamba之后的命令都能通过自动补全。 例如conda cre<Tab键>就能自动补全成conda create。
简单上手
因为我基本上一个项目用一个环境,所以通常流程是这样:
-
创建项目目录
mkdir newproject cd newproject -
使用
micromamba在当前目录下创建 python 环境# -p 参数是指定路径 ./.venv 是当前目录下 ./ 是不能少的 conda create -p ./.venv python=3.11 # 激活虚拟环境 conda activate ./.vemv -
安装
pdm,使用pdm init初始化项目文件pip install pdm -U pdm init
手动配置命令补全
如果安装时没有选择初始化 shell 交互式配置文件(就是像 ~/.bashrc、~/.zshrc 一类的文件),后面想设置,可以执行下述命令。
micromamba shell completion