You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3虚拟环境安装Scipy报错:执行pip install scipy --no-cache-dir失败

解决树莓派3上pip安装Scipy的编译错误

我之前在树莓派3上安装Scipy时也碰到过完全一样的编译失败问题,折腾了好几次才找到可行的解决办法,给你整理几个靠谱的方案:

1. 优先用系统包管理器安装预编译版本(最省心)

树莓派的官方软件源里有预编译好的Scipy包,不用自己耗时耗力编译,直接装就行:

sudo apt-get update && sudo apt-get install -y python-scipy

如果你的项目用了虚拟环境,可以创建虚拟环境时加上--system-site-packages参数,让虚拟环境能访问系统安装的Scipy;或者手动把系统的Scipy目录软链接到虚拟环境的site-packages里。

2. 补全系统依赖再尝试pip安装

如果必须用pip安装,首先得把编译Scipy需要的系统依赖都装全,缺这些包肯定会编译失败:

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y build-essential gfortran libblas-dev liblapack-dev libatlas-base-dev python-dev

解释一下: gfortran是编译Scipy中Fortran代码必须的编译器,libblas/liblapack是线性代数基础库,libatlas-base-dev是优化过的ARM架构线性代数实现,能大幅提升编译效率和后续运行速度。

3. 增加Swap空间+设置编译优化参数

树莓派3默认的Swap空间太小,编译Scipy时很容易因为内存不足崩溃,同时设置ARM架构的编译优化参数能加快编译速度:

临时增加Swap空间(安装完成后可以恢复)

# 创建2G的Swap文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

设置编译优化环境变量

export CFLAGS="-O3 -march=armv8-a -mtune=cortex-a53"
export FFLAGS="-O3 -march=armv8-a -mtune=cortex-a53"

再次执行pip安装

pip install scipy --no-cache-dir

安装完成后恢复默认Swap(可选,避免占用SD卡空间)

sudo swapoff /swapfile
sudo rm /swapfile
# 编辑Swap配置文件改回默认大小
sudo nano /etc/dphys-swapfile
# 把CONF_SWAPSIZE的值改回默认(比如100或200),保存退出后重启Swap服务
sudo systemctl restart dphys-swapfile

4. 尝试安装旧版本的Scipy

新版本的Scipy对编译环境要求更高,树莓派3可能扛不住,试试安装稳定的旧版本,比如1.4.1:

pip install scipy==1.4.1 --no-cache-dir

这些步骤应该能解决你遇到的编译错误,亲测在树莓派3B+上有效。

内容的提问来源于stack exchange,提问作者jorgher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:16:34