当前位置: 首页 > news >正文

新一代python的包管理软件mamba

新一代python的包管理软件mamba

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.shcurl 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/shset -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 fallbackshell=${SHELL##*/};;
esac# Parsing arguments
if [ -t 0 ] ; thenprintf "Micromamba binary folder? [~/.local/bin] "read BIN_FOLDERprintf "Init shell ($shell)? [Y/n] "read INIT_YESprintf "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" iny|Y|yes)if [ -t 0 ]; thenprintf "Prefix location? [~/micromamba] "read PREFIX_LOCATIONfi;;
esac
PREFIX_LOCATION="${PREFIX_LOCATION:-${HOME}/micromamba}"# Computing artifact location
case "$(uname)" inLinux)PLATFORM="linux" ;;Darwin)PLATFORM="osx" ;;*NT*)PLATFORM="win" ;;
esacARCH="$(uname -m)"
case "$ARCH" inaarch64|ppc64le|arm64);;  # pass*)ARCH="64" ;;
esaccase "$PLATFORM-$ARCH" inlinux-aarch64|linux-ppc64le|linux-64|osx-arm64|osx-64|win-64);;  # pass*)echo "Failed to detect your OS" >&2exit 1;;
esacif [ "${VERSION:-}" = "" ]; thenRELEASE_URL="https://github.com/mamba-org/micromamba-releases/releases/latest/download/micromamba-${PLATFORM}-${ARCH}"
elseRELEASE_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; thencurl "${RELEASE_URL}" -o "${BIN_FOLDER}/micromamba" -fsSL --compressed ${CURL_OPTS:-}
elif hash wget >/dev/null 2>&1; thenwget ${WGET_OPTS:-} -qO "${BIN_FOLDER}/micromamba" "${RELEASE_URL}"
elseecho "Neither curl nor wget was found" >&2exit 1
fi
chmod +x "${BIN_FOLDER}/micromamba"# Initializing shell
case "$INIT_YES" iny|Y|yes)case $("${BIN_FOLDER}/micromamba" --version) in1.*|0.*)shell_arg=-sprefix_arg=-p;;*)shell_arg=--shellprefix_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" iny|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 finishedTo activate this environment, use:micromamba-linux-64 activate paddleOr 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 --helpSupported 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 paddle0 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.mdwarnings.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 torchmdmamba 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

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

相关文章:

  • 详解HashMap底层原理
  • JDBC 工具类:1.0到3.0版本
  • 【大模型水印论文阅读2】前缀文本编码、均匀性约束
  • Java--数组
  • 基于springboot的火锅店点餐系统
  • OpenCV图像添加水印
  • RocketMQ 消息长轮询
  • Day44 预训练模型
  • Python实例题:文件内容搜索工具
  • 探秘AI的秘密:leaked-system-prompts
  • 视图、索引介绍
  • Java底层原理:深入理解JVM内存模型与线程安全
  • 从零开始的二三维CAD|CAE轻量级软件开发:学习以及研发,Gmsh的脚本编辑器设计!
  • 微软全新开源的Agentic Web网络项目:NLWeb详解
  • 性能测试常见指标与瓶颈分析方法
  • [Ethernet in CANoe]1--SOME/IP arxml文件格式的区别
  • 导出docker-compse.yml中docker镜像成tar文件
  • 微调大语言模型后,如何评估效果?一文讲清
  • 领域驱动设计(DDD)【18】之实现聚合的不变规则和持久化
  • 从0到100:房产中介小程序开发笔记(中)