armhf架构下ubuntu 18.04 系统安装scikit-learn

手机上装了LinuxDeploy后,就可以在手机上玩Linux了 :)   

记录下我的安装过程。

1、Ubuntu系统的安装配置,几个地方注意:

(1)容器类型:chroot(默认),架构:armhf(默认),发行版选 bionic;

(2)源地址:(中科大源)http://mirrors.ustc.edu.cn/ubuntu-ports/  【本来应该使用https的,但即使用了https,LinuxDeploy仍会从http获取更新】

(3)勾选“启用SSH服务器”,这样可以使用ssh访问系统。

然后安装就行了。安装过程中一定要保持网络畅通,不能丢失一个包,否则会安装不成功。一般在保持网络畅通的情况下,安装基本都能成功。犹记得几年前刚开始玩linuxdeploy的时候,丢包现象比较严重,装了5、6遍才装好T_T

 

2、安装pip3

Python版本是3.6.5,而且已经是最新版本(截至2019年5月31日)。因为是armhf架构(基于armv8),而miniconda最新的版本是2015年的基于armv7l,所以miniconda这个捷径不能用。只能老老实实地用pip安装所需要的库了,缺点是会提示缺一堆依赖包,必须一个包一个包地解决。(我尝试过安装miniconda,虽然能安装成功,但是却在安装后的更新中提示出错,然后conda命令都用不了了)

(1)安装pip:sudo apt-get install python3-pip

(2)pip更换国内源:(换了之后下载速度快到飞起!)

vim ~/.pip/pip.conf

添加内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

 

3、安装scikit-learn

scikit-learn 依赖numpy,scipy和matplotlib,所以必须先安装这些库。

(1)安装numpy:sudo pip3 install numpy

(2)安装scipy:(参考:http://www.aiuxian.com/article/p-2712955.html)

首先 sudo pip3 install scipy,提示缺少lapack/blas库,安装

sudo apt-get install liblapack-dev libblas-dev

参考文献中提到还可以安装两个包,也把它们装上:

sudo pip3 install nose

sudo pip3 install atlas

然后再安装scipy,又会提示缺Fortran编译器,安装

sudo apt-get install gfortran

再安装scipy就不会报错了,但是因为手机性能的原因,安装scipy要挺长时间的。

(3)安装pandas:sudo pip3 isntall pandas, 这一步并没有遇到依赖缺失。

(4)安装matplotlib:比较关键的一步,提示缺失很多库,需要一个一个安装

sudo pip3 install matplotlib

提示“command: arm-linux-gnueabihf-gcc failed with exit status 1" ,查了很多资料,需要安装一堆库:

sudo apt-get install libevent-dev, python3-dev, build-essential, libssl-dev, libffi-dev

再次安装matplotlib,这次提示缺失freetype和libpng,安装这两个库:

sudo apt-get install libfreetype6-dev, libpng-dev  

再安装matplotlib就成功了。

(5)安装scikit-learn:

sudo pip3 install scikit-learn

提示“ModuleNotFoundError:  No module named 'Cython' ” 需安装Cython:

sudo pip3 install Cython

然后再安装scikit-learn就可以了。

 

你可能感兴趣的:(环境搭建)