Python 3.6虚拟环境中无法安装Numpy的问题求助
解决树莓派虚拟环境中安装numpy失败的问题
嘿,我看到你在树莓派的Python3.6虚拟环境里安装numpy(包括指定1.13.3版本)时遇到了编译失败的问题,这种情况在树莓派这类资源有限的设备上其实挺常见的,我给你几个实用的解决方案,你可以挨个试试:
先安装编译必备的系统依赖
旧版numpy的编译需要依赖一些系统库和编译器,先把这些补全:sudo apt-get update sudo apt-get install build-essential libatlas-base-dev gfortran python3-dev其中
libatlas-base-dev是用来加速numpy运算的线性代数库,gfortran是编译numpy中Fortran代码必需的编译器,缺了这些很容易在编译阶段报错。临时扩容swap分区,解决内存不足问题
树莓派默认内存不大,编译numpy这种计算密集型库时很容易因为内存耗尽失败。你可以临时开启swap分区来缓解:# 创建1G大小的swap文件 sudo fallocate -l 1G /swapfile # 设置权限确保安全 sudo chmod 600 /swapfile # 格式化swap文件 sudo mkswap /swapfile # 启用swap sudo swapon /swapfile等numpy安装完成后,你可以选择关闭并删除swap文件,避免长期占用SD卡空间:
sudo swapoff /swapfile sudo rm /swapfile用树莓派专属预编译源安装(最省心)
本地编译既慢又容易出错,你可以用专门给树莓派做预编译包的源,直接下载现成的编译好的包:pip install --extra-index-url https://www.piwheels.org/simple numpy==1.13.3这个源里有适配树莓派架构的numpy预编译文件,能跳过本地编译步骤,安装速度快很多,成功率也高。
检查虚拟环境是否损坏
有时候虚拟环境的文件可能出现损坏,导致安装异常。你可以尝试重新创建虚拟环境再试:# 退出当前虚拟环境 deactivate # 删除旧的虚拟环境 rm -rf /home/pi/.virtualenvs/venv_python36 # 重新创建Python3.6的虚拟环境 virtualenv --python=python3.6 /home/pi/.virtualenvs/venv_python36 # 激活新环境 source /home/pi/.virtualenvs/venv_python36/bin/activate之后再执行numpy的安装命令试试。
如果尝试完这些还是不行,建议你把完整的错误信息(比如命令行后面跟着的具体编译报错内容)贴出来,这样能更精准地定位问题~
内容的提问来源于stack exchange,提问作者ovg
相关产品推荐
相关产品推荐

