micromamba 工作环境配置

528 字
3 分钟
micromamba 工作环境配置

之前用的 miniconda,近期看到了 mamba 这个项目,看了下官网,有个 micromamba 的基于 C++ 开发的,性能会更好一些。

micromamba is a fully statically-linked, self-contained, executable. This means that the base environment is completely empty. The configuration for micromamba is slightly different, namely all environments and cache will be created by default under the MAMBA_ROOT_PREFIX environment variable. There is also no pre-configured .condarc/.mambarc shipped with micromamba (they are however still read if present).

micromamba 的特点:

  1. 使用多线程下载 repository data 和 packages(最新的 conda 也支持多线程了);
  2. mamba 使用 libsolv 加速解决依赖关系;
  3. mamba 的核心部分通过 C++ 实现,以获得最大执行效率;
  4. mamba 可与 conda 完美兼容;

homebrew 方式安装#

Terminal window
brew install micormamba

linux 安装#

Terminal window
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)

初始化配置#

Terminal window
mkdir -p ~/micromamba
# 与 zsh 集成
micromamba shell init -s zsh -p ~/micromamba
source ~/.zshrc

配置清华源#

Terminal window
cat >> ~/.condarc << EOF
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
EOF
# 清除索引缓存
micromamba clean -i
# 和conda不一样,使用 micromamba 必须手动设置channels
micromamba config prepend channels conda-forge

micromamba 可以识别 conda 的配置文件 micromamba 的配置优先级为 API >> CLI >> ENV >> RC 多个 RC 配置文件的读取顺序如下,越晚读到的配置优先级越高

// on_unix
{
"/etc/conda/.condarc",
"/etc/conda/condarc",
"/etc/conda/condarc.d/",
"/etc/conda/.mambarc",
"/var/lib/conda/.condarc",
"/var/lib/conda/condarc",
"/var/lib/conda/condarc.d/",
"/var/lib/conda/.mambarc"
}
// on_win
{
"C:\\ProgramData\\conda\\.condarc",
"C:\\ProgramData\\conda\\condarc",
"C:\\ProgramData\\conda\\condarc.d",
"C:\\ProgramData\\conda\\.mambarc"
}
{ root_prefix }/.condarc
{ root_prefix }/condarc
{ root_prefix }/condarc.d
{ root_prefix }/.mambarc
~/.conda/.condarc
~/.conda/condarc
~/.conda/condarc.d
~/.condarc
~/.mambarc
{ target_prefix }/.condarc
{ target_prefix }/condarc
{ target_prefix }/condarc.d
{ target_prefix }/.mambarc
$CONDARC,
$MAMBARC;

使用 micromamba#

操作命令示例

Terminal window
micromamba create --name <env_name>
micromamba activate <env_name>
micromamba install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
Terminal window
# 创建新环境
micromamba create -n [email protected] python=3.12
# 激活环境
micromamba activate [email protected]
# 取消激活环境
micromamba deactivate
# 删除环境
micromamba env remove -n [email protected]

安装 pandas 测试

Terminal window
micromamba install pandas

Untitled 17
Untitled 17

vscode集成配置#

在安装的时候,如果没有修改默认的设置,则mamba的路径应该在~/micromamba

打开VSCode的设置,添加下面的设置:

  • python.venvFolders这一项,添加mamba的目录名,即micromamba
    image 47
    image 47
  • python.venvPath这一项,添加mamba虚拟环境的目录,即~/micromamba/envs
    image 48
    image 48
  • Python:select interceptor选择指定解释器
    image 49
    image 49

📎 参考文章#

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

micromamba 工作环境配置
https://blog.sephy.top/posts/micromamba-工作环境配置/
作者
虾米
发布于
2024-04-23
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
UV使用
技术分享UV 统计方案与实现。包含 UV 定义、去重方案、Redis 实现、精度与性能权衡等。
2
在 PVE 上给软路由虚拟机加一个网络 Watchdog
技术分享在 PVE 宿主机上用 Bash 和 systemd timer 实现一个网络 watchdog:先检测公网连通性,连续失败后重启软路由虚拟机,多次自愈无效再升级为重启 PVE 宿主机。
3
命令行自动登录 JumpServer:SSH、TOTP 与密码提示的自动化
技术分享把 JumpServer 登录流程拆成凭据读取和终端交互两层:zsh 从密码管理器安全读取 TOTP seed 与可选密码,expect 只负责响应 SSH 登录过程中的 password 和 Code 提示。
4
git 个人开发工作流
技术分享介绍个人 Git 分支协作流程:以基线分支(如 feature-a)+ 个人开发分支(feature-a-xxx)进行开发,开发分支定期 rebase 同步上游,最终通过 merge(必要时先 squash 整理提交)合回基线;并提供 grebase/gmergebase 等脚本,支持自动推导基线分支、预览计划、带 autostash 的安全 rebase,以及可选 squash/推送/删除分支的安全 merge-back。
5
使用 docker-atrust 连入深信服
技术分享使用 Docker 容器运行深信服 aTrust 客户端,通过 VNC 完成登录,并结合本机 mihomo 配置实现公司内网的 DNS 解析与按域名、IP 的精确代理分流;宿主机暴露 1080 与 8888 端口供 socks5 和 HTTP 代理使用,从而在不安装原生客户端的情况下实现零信任接入并降低对本机的影响。
随机文章随机推荐
Profile Image of the Author
虾米
coder
分类
标签
站点统计
文章
61
分类
4
标签
52
总字数
64,663
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.9
文章许可
CC BY-NC-SA 4.0