手机上装了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就可以了。