在服务器中安装mamba-ssm
mamba-ssm安装非常容易报错,建议直接使用方法一——在本地离线安装。
可用方法:一和二
报错未解决:三和四
一、 使用 .whl 文件进行离线安装
安装mamba,主要是安装两个依赖:
- causal_conv1d
- mamba_ssm
先直接在本地安装.whl文件,再上传至服务器,服务器离线安装解压。
1.本地下载:
注意cuda版本+pytorch版本+Python版本,由于我是先在服务器选择的实例,选择好了CUDA版本和torch版本,再下载mamba,导致没有对应的版本包,报了很多错,我的服务器是CUDA12.1,但下载mamba包对应的cuda只有11.8及12.2,都不行,我尝试将系统的CUDA升级至12.2,能正常升级,但升级后运行后续代码还是报错,虽然升级了,但编译用的CUDA环境还是12.1,建议如果要下载mamba包,先选好版本,再开服务器实例配环境。
下面两个依赖包版本尽量选择一致:
Tags · state-spaces/mamba
Tags · Dao-AILab/causal-conv1d
比如我下载的版本为:

将这两个文件上传至服务器,再在当前目录安装:
pip install mamba_ssm-1.2.1+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
pip install causal_conv1d-1.2.1+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
检查mamba-ssm是否安装成功及安装的版本号:

二、服务器输入指令:pip install git+https://github.com/state-spaces/mamba.git --no-build-isolation

三、(报错未解决)直接在终端输入指令:pip install mamba-ssm
下载时间很长,且报错

这个错误信息表明:pip subprocess to install build dependencies did not run successfully. 这是安装 mamba-ssm 过程中依赖无法构建导致的
解决方法(未解决):
1. 先安装构建依赖:
apt update && apt install -y build-essential cmake ninja-build git
2. 更新 pip + setuptools + wheel,旧版本经常导致构建失败
pip install --upgrade pip setuptools wheel
四、(报错未解决) 根据Conda太慢?试试这个加速工具!-阿里云开发者社区,使用指令:conda install -c conda-forge mamba,陆续报了很多错

这个报错 Killed 是因为系统内存不足,导致 Conda 安装进程被强制终止。解决方法是:临时扩容内存(Swap) + 换 Mamba 安装
1.临时扩容内存(Swap 分区)
# 创建 2GB Swap 文件(可根据需求调整大小,如 4GB 则 count=4096)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile # 设置权限
sudo mkswap /swapfile # 格式化 Swap
sudo swapon /swapfile # 启用 Swap
# 安装完成后,可关闭并删除 Swap(可选)
# sudo swapoff /swapfile
# sudo rm /swapfile
执行这些命令又报错:

解决方法(未解决):服务器终端依次输入以下命令:
# 安装工具(Debian/Ubuntu 系列)
sudo apt update && sudo apt install dphys-swapfile
sudo apt install nano
# 配置交换空间大小(编辑 /etc/dphys-swapfile,修改 CONF_SWAPSIZE=2048 表示 2GB )
sudo nano /etc/dphys-swapfile #输入这个指令会进入dphys-swapfile
#sudo nano /etc/dphys-swapfile指令后,编辑配置文件:
# 取消该行注释,设置交换文件路径(一般保持默认)
CONF_SWAPFILE=/var/swap
# 手动指定交换空间大小,比如设为 4096MB(4GB),根据需求调整
CONF_SWAPSIZE=4096
# 当设置了 CONF_SWAPSIZE,这个配置可不关注,若想动态计算可注释掉 CONF_SWAPSIZE
# CONF_SWAPFACTOR=2
# 限制最大交换空间,比如设为 8192MB(8GB),避免占满磁盘
CONF_MAXSWAP=8192
#在 GNU nano 编辑器中,修改完文件后,按下 Ctrl + O(是字母 O,不是数字 0 ),再按 Ctrl + X 保存退出

#接着在服务器终端执行:
ps --no-headers -o comm 1 #输出bash,才按照下面的命令执行








