首页 > 其他分享 >mamba下载安装使用

mamba下载安装使用

时间:2022-11-05 21:01:19浏览次数:74  
标签:__ visited ng libgcc conda 下载安装 使用 mamba

前言

之前,习惯性用conda来管理环境,安装软件。大多时候都还不错,但是就是喜欢转圈圈,下载不动,最后给出些不清晰的信息~

最近服务器出问题,重新配置了一遍工作环境,换用mamba试试~

mamba

mamba 是使用C++ 对conda包管理器的重实现。

  • 使用多线程来并行下载仓库数据和包文件
  • 采用libsolv来更快的解决包依赖关联,这是Red Hat,Fedora和OpenSuse的RPM 包管理器中使用的先进的库
  • mamba核心部分使用C++来获取最大效率

最重要的是mamba有着和conda一样的命令, 没啥学习成本就可以迁移到mamba

The mamba-org 组织有多个Mamba 支持:

  • mamba 基于Pyhton命令行实现,替换conda, 提供高速,更可靠的环境管理
  • micromamba 纯C++实现,单个可执行文件
  • libmamba 一个C++库,为mambamicromamba提供低层级和高层级的API接口。

下载安装

这里我们下载安装micromamba。可以使用以下命令进行自动安装

## Linux 默认shell 使用bash
curl micro.mamba.pm/install.sh | bash

## Linux 默认shell 使用zsh
curl micro.mamba.pm/install.sh | zsh

这里我根据我个人环境,进行手动安装演示

下载micromamba

$ curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
$ ls bin/micromamba
bin/micromamba

配置shell环境变量

./bin/micromamba shell init -s bash -p ~/micromamba

-p 可以设置自己想要的路径,创建的环境,配置文件等都在这个目录下。

$ micromamba

                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/

Version: 1.0.0

这个标志和mamba不一样,不过没关系,命令功能都一样。
当前调用是通过命令micromamba, 名字稍长,我们可以在~/.bashrc里加上这句来通过mamba调用

alias mamba=micromamba

配置

rc 文件表示run commands或者runtime configuration, 命令运行时的一些配置文件或命令。我们最常见就是.bashrc文件。mamba可以读取.condarc文件和.mambarc文件配置。
mamba可以读取多个rc文件,然后合并它们的内容,不过我们也不需要配置多个,配置一个就行。mamba读取rc文件有一个优先级:
image.png

// 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"
}
{ 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;

root_prefix 为之前设置的-p 参数值, 我们就在root_prefix 添加一个.mambarc文件。

$ vim ~/micromamba/.mambarc
## 添加以下内容,并保存
channels:
  - defaults
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
custom_channels:
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: 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
always_yes: true
auto_activate_base: false

上述配置中,将 conda-forge, bioconda, r这三个设为了默认channel, 所以以后安装这3个channel时,不用在命令行通过-c CHANNEL 来指定这三个channel了。同时always_yes设为true, 也不用每次加-y参数或者每次手动输入y确认安装包了。

新体验

mamba/micromamba使用和conda用法一样,不多介绍了。除了速度更快些,貌似软件兼容性也解决的更好。
安装包,某个依赖不存在时、而且不能自动安装时,最后会明确指出某个包没有,这样,我们就把那个依赖包安装了,再重新安装就好了~

安装时,进度条更加动感,能感觉它是在下载东西,而不像conda那再那一直转啊转。

还有,查看按照包时,它会将你的手动安装的包,用颜色字体来展示,这个小细节做得不错~
image.png

此外,mamba还有个新功能,用于查询软件依赖。

$ mamba repoquery depends -t salmon

                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/

Loaded current active prefix: "/home/huangsh/software/micromamba/envs/rna"

salmon[1.9.0]
  ├─ boost-cpp[1.74.0]
  │  ├─ bzip2[1.0.8]
  │  │  └─ libgcc-ng[12.2.0]
  │  │     ├─ _libgcc_mutex[0.1]
  │  │     └─ _openmp_mutex[4.5]
  │  │        ├─ _libgcc_mutex already visited
  │  │        └─ libgomp[12.2.0]
  │  │           └─ _libgcc_mutex already visited
  │  ├─ libgcc-ng already visited
  │  ├─ icu[69.1]
  │  │  ├─ libgcc-ng already visited
  │  │  └─ libstdcxx-ng[12.2.0]
  │  ├─ libstdcxx-ng already visited
  │  ├─ libzlib[1.2.13]
  │  │  └─ libgcc-ng already visited
  │  ├─ xz[5.2.6]
  │  │  └─ libgcc-ng already visited
  │  └─ zstd[1.5.2]
  │     ├─ libgcc-ng already visited
  │     ├─ libstdcxx-ng already visited
  │     └─ libzlib already visited
  ├─ bzip2 already visited
  ├─ libgcc-ng already visited
  ├─ icu already visited
  ├─ libstdcxx-ng already visited
  ├─ libzlib already visited
  ├─ libjemalloc[5.2.1]
  │  ├─ libgcc-ng already visited
  │  └─ libstdcxx-ng already visited
  └─ tbb[2021.6.0]
     ├─ libgcc-ng already visited
     └─ libstdcxx-ng already visited

更可以查询有哪些包依赖于这个包!

$ mamba repoquery whoneeds libgcc-ng

                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/

Loaded current active prefix: "/home/huangsh/software/micromamba/envs/rna"

 Name        Version  Build      Depends           Channel
──────────────────────────────────────────────────────────────────────────────
 boost-cpp   1.74.0   h6cacc03_7 libgcc-ng >=9.4.0 anaconda/cloud/conda-forge
 bzip2       1.0.8    h7f98852_4 libgcc-ng >=9.3.0 anaconda/cloud/conda-forge
 icu         69.1     h9c3ff4c_0 libgcc-ng >=9.4.0 anaconda/cloud/conda-forge
 libjemalloc 5.2.1    h9c3ff4c_6 libgcc-ng >=9.4.0 anaconda/cloud/conda-forge
 libzlib     1.2.13   h166bdaf_4 libgcc-ng >=12    anaconda/cloud/conda-forge
 salmon      1.9.0    h7e5ed60_1 libgcc-ng >=12    anaconda/cloud/bioconda
 tbb         2021.6.0 h924138e_1 libgcc-ng >=12    anaconda/cloud/conda-forge
 xz          5.2.6    h166bdaf_0 libgcc-ng >=12    anaconda/cloud/conda-forge
 zstd        1.5.2    h6239696_4 libgcc-ng >=12    anaconda/cloud/conda-forge

参考

https://github.com/mamba-org/mamba
https://mamba.readthedocs.io/en/latest/

标签:__,visited,ng,libgcc,conda,下载安装,使用,mamba
From: https://www.cnblogs.com/huanping/p/16861271.html

相关文章

  • docker使用代理(in home)
    docker使用httphttp_proxyhttps://docs.docker.com/config/daemon/systemd/#代理和国内镜像源不要同时使用,。。。#"storage-driver":"overlay2",apt......
  • solidity数组的使用
    长度固定的数组uint[]定义的数组,可以使用引用查看索引位置的数值,使用.length得到数组的长度byte定义的数组,将字符串以十六进制形式保存,不能使用.length。byte默认值为0......
  • vagrant的安装使用入门(mac环境下)
    安装官网教程:https://developer.hashicorp.com/vagrant/tutorials/getting-started/getting-started-project-setupbrewinstallvagrant#使用brew进行安装brewins......
  • SpringBoot实战笔记:02_使用注解与Java配置的Aop示例
    转载:https://blog.csdn.net/android_zyf/article/details/79579875<!--02_新的依赖--><!--导入spring的aop支持--><dependency><groupId>${spring-groupId}</groupId>......
  • Spring Boot 中使用 Swagger
    前后端分离开发,后端需要编写接⼝说明⽂档,会耗费⽐较多的时间。swagger是⼀个⽤于⽣成服务器接⼝的规范性⽂档,并且能够对接⼝进⾏测试的⼯具。作用⽣成接⼝说明⽂档......
  • 使用selenium登录12306
    fromselenium.webdriverimportChromefromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.chrome.s......
  • tekton Tiggers使用案例
    安装Tiggerskubectlapply--filename\https://storage.googleapis.com/tekton-releases/triggers/latest/release.yamlkubectlapply--filename\https://storage.g......
  • expr包的使用
    expr_basic_testpackageexpr_practiceimport("errors""fmt""github.com/antonmedv/expr""testing""time")//https://github.com/anton......
  • 【微信小程序】view | scroll | swiper 的使用
    目录1.view的使用2.scroll的使用3.swiper的使用4.补充wx:for的使用1.view的使用viewtest.wxml<!--hover-class:点击后的样式hover-start-time:按下多久后出现样式,单......
  • React使用Antd自定义主题报错
    安装包"customize-cra":"^1.0.0","customize-cra-less-loader":"^2.0.0","less":"^4.1.3","less-loader":"^11.1.0",修改config-overrides.jsconst{override......