一.背景
嵌入式开发最后需要给开发板配置python 及其各种库,且开发板里有系统自带的 python 2.7 版本,而开发手册建议 python 版本 3.5+,为了避免后续屁事不断的麻烦,决定采用虚拟环境。此博客后续会更新。
二.安装过程
(1) numpy 库
1.过程
1.1 安装 虚拟环境 及 python 3+,命令如下:
sudo apt install virtualenv
sudo apt-get install libpython3.5-dev
sudo apt install python3-tk
virtualenv -p /usr/bin/python3 venv
1.2 安装 python3-dev(因为开发板里有两个版本,所以要指明是 python 3 这个版本。) 依赖库,后面用得上,先装好。
sudo apt install python3-dev
安装下面库之前,先进入虚拟环境:
source venv/bin/activate
你们的路径并不是一定和我一样,到时注意一下。进入虚拟环境后,下面就是在该环境下安装各种库。
1.3 安装 numpy 库。一开始安装出错,想了一会,直觉告诉我应该是相关编译器(gcc,make)没装导致出错,本来想一个个下,发现有个软件包将它们全包含了,参考博客 https://blog.csdn.net/yzpbright/article/details/81515459 。于是,有:
sudo apt-get install build-essential
然后再试一下,pip 一律不要加 sudo ,否则库会安装在 python 2 的版本下,切记!
pip install numpy
1.4 因故第二次安装时,没这么顺利,磕磕碰碰的。当时按我上次经验装好各种库,安装后报错:
Consider using the --user option or check the permissions
上网查解决方法,全部喊我这样写:
pip install --usr numpy
大概上天考验我,还是不行,查了一遍也没什么法子,只能自己瞎搞了。先下好它的安装包,解压到 site-packages 目录下,然后找到 numpy 的 setup.py 文件,运行它
python setup.py install
还是不行,草,后来想他一直在报权限方面的错误,就干脆把 site-packages 目录下的所有文件(包括其自身)的权限都设为 777 ,然后再运行 setup.py 脚本,就开始编译安装,中间过程没看,后来在最后一行发现:
error : Pemission denied : /venv/bin/f2py3.5 # 不知道什么鬼错误
还以为又安装失败,不死心的进入 python 然后 import numpy 一下,竟然没报错,然后又输入几行代码,正常运行!
好吧,有时候瞎搞也是一种宝贵的冒险精神,希望下次运气也这么好吧。
更新:关于这种权限问题,经过多次碰壁后,摸索出解决方案。在装 numpy 之前,把 /venv 目录下四个子目录的权限全设为777,如下:
sudo chmod 777 bin include lib share # 我是在 /venv 目录里操作的,所以是相对路径
1.5 第三次安装 numpy 时,是的我又来了,也遇见了第二次相同问题,权限错误。后来就
sudo pip3.5 install numpy # 还是虚拟环境下,加上 3.5 让系统明白你要装在哪个 python 版本上