新一代python包管理软件mamba的使用

 更新时间:2025年06月29日 10:26:29   作者:skywalk8163  
新一代python的包管理软件mambaMamba 是一个高性能的跨平台包管理器,用于替代和扩展 Conda,采用 C++ 重构,实现多线程的仓库数据和包文件并行下载,大幅提升依赖解析速度

Mamba 是一个高性能的跨平台包管理器,用于替代和扩展 Conda,采用 C++ 重构,实现多线程的仓库数据和包文件并行下载,大幅提升依赖解析速度。

官网repo:mamba-org/micromamba-releases: Micromamba executables mirrored from conda-forge as Github releases

下载安装

直接下载最新的可执行版本:

直接到发布页面下载即可,比如当前最新版本是2.3.0版本,下载linux版:

wget https://github.com/mamba-org/micromamba-releases/releases/download/2.3.0-1/micromamba-linux-64

拿到文件后,chmod 755 给个执行权限,即可执行:

root@j7ba948ec6f7425190a818336fcd0045-task0-0:/tmp/code# chmod 755 micromamba-linux-64 
root@j7ba948ec6f7425190a818336fcd0045-task0-0:/tmp/code# ./micromamba-linux-64 
Version: 2.3.0 

./micromamba-linux-64 [OPTIONS] [SUBCOMMAND]

OPTIONS:
  -h,     --help              Print this help message and exit 
          --version           

这时候mamab就可以直接用了。

使用安装脚本安装

直接下载repo源代码,用里面的安装脚本安装即可。

git clone https://github.com/mamba-org/micromamba-releases

然后执行里面的install.sh 脚本即可。

也可以直接使用wget或者curl获得安装脚本,比如: 

wget https://raw.githubusercontent.com/mamba-org/micromamba-releases/refs/heads/main/install.sh

curl https://raw.githubusercontent.com/mamba-org/micromamba-releases/refs/heads/main/install.sh

下载并改名:

curl -L https://raw.githubusercontent.com/mamba-org/micromamba-releases/refs/heads/main/install.sh -o micromamba.sh

实在没办法,还可以直接把下面代码存盘,存为install.sh ,然后执行即可安装mamba:

#!/bin/sh

set -eu

# Detect the shell from which the script was called
parent=$(ps -o comm $PPID |tail -1)
parent=${parent#-}  # remove the leading dash that login shells have
case "$parent" in
  # shells supported by `micromamba shell init`
  bash|fish|xonsh|zsh)
    shell=$parent
    ;;
  *)
    # use the login shell (basename of $SHELL) as a fallback
    shell=${SHELL##*/}
    ;;
esac

# Parsing arguments
if [ -t 0 ] ; then
  printf "Micromamba binary folder? [~/.local/bin] "
  read BIN_FOLDER
  printf "Init shell ($shell)? [Y/n] "
  read INIT_YES
  printf "Configure conda-forge? [Y/n] "
  read CONDA_FORGE_YES
fi

# Fallbacks
BIN_FOLDER="${BIN_FOLDER:-${HOME}/.local/bin}"
INIT_YES="${INIT_YES:-yes}"
CONDA_FORGE_YES="${CONDA_FORGE_YES:-yes}"

# Prefix location is relevant only if we want to call `micromamba shell init`
case "$INIT_YES" in
  y|Y|yes)
    if [ -t 0 ]; then
      printf "Prefix location? [~/micromamba] "
      read PREFIX_LOCATION
    fi
    ;;
esac
PREFIX_LOCATION="${PREFIX_LOCATION:-${HOME}/micromamba}"

# Computing artifact location
case "$(uname)" in
  Linux)
    PLATFORM="linux" ;;
  Darwin)
    PLATFORM="osx" ;;
  *NT*)
    PLATFORM="win" ;;
esac

ARCH="$(uname -m)"
case "$ARCH" in
  aarch64|ppc64le|arm64)
      ;;  # pass
  *)
    ARCH="64" ;;
esac

case "$PLATFORM-$ARCH" in
  linux-aarch64|linux-ppc64le|linux-64|osx-arm64|osx-64|win-64)
      ;;  # pass
  *)
    echo "Failed to detect your OS" >&2
    exit 1
    ;;
esac

if [ "${VERSION:-}" = "" ]; then
  RELEASE_URL="https://github.com/mamba-org/micromamba-releases/releases/latest/download/micromamba-${PLATFORM}-${ARCH}"
else
  RELEASE_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${VERSION}/micromamba-${PLATFORM}-${ARCH}"
fi


# Downloading artifact
mkdir -p "${BIN_FOLDER}"
if hash curl >/dev/null 2>&1; then
  curl "${RELEASE_URL}" -o "${BIN_FOLDER}/micromamba" -fsSL --compressed ${CURL_OPTS:-}
elif hash wget >/dev/null 2>&1; then
  wget ${WGET_OPTS:-} -qO "${BIN_FOLDER}/micromamba" "${RELEASE_URL}"
else
  echo "Neither curl nor wget was found" >&2
  exit 1
fi
chmod +x "${BIN_FOLDER}/micromamba"


# Initializing shell
case "$INIT_YES" in
  y|Y|yes)
    case $("${BIN_FOLDER}/micromamba" --version) in
      1.*|0.*)
        shell_arg=-s
        prefix_arg=-p
        ;;
      *)
        shell_arg=--shell
        prefix_arg=--root-prefix
        ;;
    esac
    "${BIN_FOLDER}/micromamba" shell init $shell_arg "$shell" $prefix_arg "$PREFIX_LOCATION"

    echo "Please restart your shell to activate micromamba or run the following:\n"
    echo "  source ~/.bashrc (or ~/.zshrc, ~/.xonshrc, ~/.config/fish/config.fish, ...)"
    ;;
  *)
    echo "You can initialize your shell later by running:"
    echo "  micromamba shell init"
    ;;
esac


# Initializing conda-forge
case "$CONDA_FORGE_YES" in
  y|Y|yes)
    "${BIN_FOLDER}/micromamba" config append channels conda-forge
    "${BIN_FOLDER}/micromamba" config append channels nodefaults
    "${BIN_FOLDER}/micromamba" config set channel_priority strict
    ;;
esac

开始使用mamba

比如前面,我们已经下载了minimamba文件,并chmod 755 添加了执行权限,就可以直接开始执行了:

创建一个python3.10的虚拟环境

./micromamba-linux-64 create -n paddle python=3.10

感觉速度确实挺快的,输出

Transaction finished

To activate this environment, use:

    micromamba-linux-64 activate paddle

Or to execute a single command in this environment, use:

    micromamba-linux-64 run -n paddle mycommand

但是后面激活出了点问题,简单来说就是没激活成功

 ./micromamba-linux-64 activate paddle

'micromamba-linux-64' is running as a subprocess and can't modify the parent shell.
Thus you must initialize your shell before using activate and deactivate.

To initialize the current bash shell, run:
    $ eval "$(micromamba-linux-64 shell hook --shell bash)"
and then activate or deactivate with:
    $ micromamba-linux-64 activate
To automatically initialize all future (bash) shells, run:
    $ micromamba-linux-64 shell init --shell bash --root-prefix=~/.local/share/mamba
If your shell was already initialized, reinitialize your shell with:
    $ micromamba-linux-64 shell reinit --shell bash
Otherwise, this may be an issue. In the meantime you can run commands. See:
    $ micromamba-linux-64 run --help

Supported shells are {bash, zsh, csh, posix, xonsh, cmd.exe, powershell, fish, nu}.
critical libmamba Shell not initialized

 但是用mamba激活成功了:

root@j7ba948ec6f7425190a818336fcd0045-task0-0:/tmp/code# mamba activate paddle

0 examples ran in 0.0009 seconds
root@j7ba948ec6f7425190a818336fcd0045-task0-0:/tmp/code# python
Python 3.10.11 (main, Sep 12 2023, 07:11:29) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

现在我找不到虚拟环境的位置 .好吧,这个0 examples ran in 0.0009 seconds 

好像也不算运行成功啊!

安装飞桨

mamba好像没装成

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple 

最后是这个完成的:

python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

测试:

root@j7ba948ec6f7425190a818336fcd0045-task0-0:/tmp/code# python 
Python 3.10.11 (main, Sep 12 2023, 07:11:29) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
import >>> import paddle
/usr/local/lib/python3.10/site-packages/paddle/utils/cpp_extension/extension_utils.py:711: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md
  warnings.warn(warning_message)
>>> x= paddle.to_tensor((1,2))
>>> y = x+1
>>> y
Tensor(shape=[2], dtype=int64, place=Place(cpu), stop_gradient=True,
       [2, 3])
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ... 
I0621 15:01:31.758841   374 pir_interpreter.cc:1541] New Executor is Running ...
I0621 15:01:31.759274   374 pir_interpreter.cc:1564] pir interpreter is running by multi-thread mode ...
PaddlePaddle works well on 1 CPU.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

其它安装方法安装飞桨

老的安装方法是成功的

python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

./micromamba-linux-64  create -n paddle python=3.10

使用包管理器mamba安装torch

mamba create -n torchmd python=3.10
mamba activate torchmd
mamba install pytorch python=3.10 -c conda-forge
mamba install moleculekit parmed jupyter -c acellera -c conda-forge # For running the examples
pip install torchmd

mamba create -n torchmd
mamba activate torchmd
mamba install pytorch python=3.10 -c conda-forge
mamba install moleculekit parmed jupyter -c acellera -c conda-forge # For running the examples
pip install torchmd

mamba create -n torchmd
mamba activate torchmd
mamba install paddlepaddle python=3.10 -c conda-forge
mamba install moleculekit parmed jupyter -c acellera -c conda-forge # For running the examples
pip install torchmd

效果并不太好,就先到这里吧

到此这篇关于新一代python包管理软件mamba的使用的文章就介绍到这了,更多相关python包管理软件mamba内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Selenium多窗口切换解决方案

    Selenium多窗口切换解决方案

    本文主要介绍了Selenium多窗口切换解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python中的异步爬虫详解

    python中的异步爬虫详解

    这篇文章主要介绍了python中的异步爬虫详解,所谓的异步异步 IO,就是发起一个 IO 阻塞的操作,但是不用等到它结束,可以在它执行 IO 的过程中继续做别的事情,当 IO 执行完毕之后会收到它的通知,需要的朋友可以参考下
    2023-08-08
  • 详细介绍Python进度条tqdm的使用

    详细介绍Python进度条tqdm的使用

    这篇文章主要介绍了详细介绍Python进度条tqdm的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python PyQt5(自定义)信号与槽使用及说明

    python PyQt5(自定义)信号与槽使用及说明

    这篇文章主要介绍了python PyQt5(自定义)信号与槽使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python实现照片集变成视频的代码实现

    python实现照片集变成视频的代码实现

    看着电脑里乱七八糟的照片,有大有小,宽高不一,突然想找个方式把他们统一起来,然后做成视频更好,所以本文给大家介绍了python实现照片集变成视频的实现,需要的朋友可以参考下
    2024-10-10
  • 浅谈Python flask框架

    浅谈Python flask框架

    这篇文章主要介绍了Python flask框架,主要以对flask 微web框架优势特点、demo web应用程序程序步骤以及对flask模块中路由和模版两个功能进行基本了解。具有一定的参考价值,需要的朋友可以参考一下
    2021-11-11
  • python 字典的打印实现

    python 字典的打印实现

    这篇文章主要介绍了python 字典的打印实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python编程产生非均匀随机数的几种方法代码分享

    Python编程产生非均匀随机数的几种方法代码分享

    这篇文章主要介绍了Python编程产生非均匀随机数的几种方法代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 关于python3中setup.py小概念解析

    关于python3中setup.py小概念解析

    这篇文章主要介绍了关于python3中setup.py小概念解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 使用Flask集成bootstrap的方法

    使用Flask集成bootstrap的方法

    这篇文章主要介绍了使用Flask集成bootstrap的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论