树莓派3初体验之一:搭建 Python 开发环境

最近新买了一个树莓派3(购买前还考虑了 Orange Pi 等 Linux 开发板,但最终仍然选择了树莓派),主要目标是想通过折腾这个信用卡大小的 Linux 电脑,学习一下 Linux 系统知识,熟悉服务器的各项操作,顺便给自己搭建个 Web Server。
WechatIMG17
安装步骤很顺利,通过官网下载了 NOOBS 版的 Raspbian 系统,并复制到 TF 卡中,然后启动树莓派,一路 Next,很快就可以看到图形界面。然后看了一下树莓派内置的 Python 版本,发现是 2.7.9 以及 3.4.2,于是机智的我马上制定了第一个任务——把树莓派的系统自带 Python 3.4 升级到最新的 Python 3.6.2。
升级的过程是这样的:
1. 从 Python 官网下载 Python 3.6.2 的压缩包。
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
2. 解压编译
cd ./Python-3.6.2
./configure
make
sudo make install

3. 将 /usr/bin/python 的原文件删除,然后link到刚编译好的Python3命令上
rm /usr/bin/python
ln -s /usr/bin/python ~/Python-3.6.2/python

结果是虽然我把原本是2.7.9版本的python命令变成了3.6.2,但是配套的pip等工具却乱套了,一运行就会报语法错误,看来这样生变过去是不行的,于是想恢复回去,几经尝试后失败,遂格式化TF卡,重装系统。
第二次我不再 link /usr/bin/python, 而是机智的换成了/usr/bin/python3,但是依然出错,具体什么错误已经不记得了。再次格盘重装。
第三次终于成功,在命令行输入python3指向了/usr/local/bin/python3,我还没搞明白是怎么弄得,反正搞定了,明天去问问同事在哪里设置……

后来才想起来,要改环境变量里面的$PATH……这是刚学 Python 时候就遇到的问题,现在居然都想不起来了……

WechatIMG16
此时又遇到了第二个坑——Rsapbian没有安装若干必要的库,需要手动安装。
顺利配置好 Python3.6 后,我试着pip3 install requests,结果出现ssl module in Python is not available的报错,几经搜寻,发现是由于 OpenSSL 等库没有预置在 Raspbian 中,而 pip 则需要访问 https 加密的地址,故而报错。
首先,apt-get 安装这些库:
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
然后重新编译一次 Python 即可解决问题:
cd ~/Python-3.6.2
./configure
make
sudo make install

于是经过不知多少次编译,我终于装好了 Python3.6。后来又安装了 PyCharm,但实际运行中感觉延迟严重,所以这样大型的 IDE 可能无法在树莓派上顺畅运行,如果需要写代码,可以考虑轻量级编辑器(同时还有一个问题没有解决,就是如何卸载 PyCharm ……)。
最后说一下树莓派的整体感觉。
开箱之后的树莓派需要自己安装散热片、风扇、外壳,当然这些配件都需要另外购买。组装过程很简单,把散热片粘到处理器上,然后一层一层安装外壳,最后在外壳上方固定和连接风扇。如果有过装机经验,那么整个过程即为简单。组装完成后,我通过一根 HDMI 转 VGA 线,将树莓派连接至一个古董19寸显示器。
我(也是大多数树莓派素人)选择的是官方推荐的 Raspbian 系统,是 Debian 的树莓派分支。其实树莓派有大量的系统版本可以选择,例如 CentOS 的 ARM 版、Ubuntu Mate等等,可按需选择。Raspbian 的 GUI 没有 Ubuntu 那么炫酷,但是能在这么小的板子上运行如此完整而流畅的桌面版 Linux,也让人很欣喜。
目前我已经把若干连接线(视频线、鼠标、键盘)从树莓派上移除,仅剩供电线路并连上 WiFi,通过 Mac 远程登录进行管理。本来想设置一下 DNS 实现通过 hostname 直接访问主机,结果家里没有多余的机器做 DNS Server,华硕路由器的官方系统又不原生支持 DNS、我还懒得再折腾路由器,所以只是通过改本地的 hosts 来实现 hostsname 登录(我给树莓派起的名字叫做 footboy)。以后可能会在树莓派上搭建几个服务,通过 supervisor 管理;或者做几个 Cronjob 的定时任务。
WechatIMG15

Tagged : / / / /