您的位置:首页 > 编程语言 > ASP

在树莓派(Raspberry Pi)上编译安装更新版本的Python

2014-08-31 10:16 543 查看
Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法。

此文也适用于安装其它版本(比如最新版本)的Python,只要下载时选择特定版本可以了。

我用的是B+型的树莓派,系统是2014-06-20发布的Raspbian Wheezy。

此文也适用于其它Debian系的linux系统(比如Ubuntu)。

先把整个raspbian系统升级到最新。

这一步不是必须的,可能用时较长,完成后可能需要重启。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade


我们就在当前用户的home目录下进行吧,进到此目录

cd ~


安装python 3.4需要的依赖。有些东西可能已经存在了,会自动忽略。

sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev libssl-dev openssl [code]libgdbm-dev
liblzma-dev libreadline-dev libncursesw5-dev


这样编译出来的Python 3.4仍会缺少tkinter模块(用于GUI图形用户界面编程),在树莓派上可能用不到这个模块,所以刻意不编译它。

如果想使用tkinter,或想编译一个完整的Python,在这里加上tk tk-dev tcl tcl-dev这几个依赖包即可。

下载Python源码、解压。

第1行的命令,从Python官网下载3.4.3版的源码。

第2行的命令,把源码解压到当前目录下的Python-3.4.3目录里。

wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz tar zxvf Python-3.4.3.tgz


配置、编译、安装。如果顺利的话,在树莓派B+用时1小时20分钟左右,编译后源码的目录会膨胀到130 MB。

第2行后面的参数表示,我们要把新版Python安装到/opt/python3.4目录下。

在make命令后再执行一次make命令(会运行极短时间),既可看到仍有哪些Python模块无法编译,然后排查原因(通常是没安装相应的依赖包)。

cd ./Python-3.4.3
./configure --prefix=/opt/python3.4
make
make
sudo make install


可以给./configure后面加上优化选项,如下是打开LTO优化:

./configure --prefix=/opt/python3.5 --with-lto


推荐打开这个选项,这个选项在Python 3.5及以上版本才有。

(还有关于GPO的优化选项,一般在树莓派上用不到GPO优化,这里就不说了,需要请查阅文档。)

创建软链接。创建之后,打python3就能启动Python 3.4.3了。

第一行删除已有的指向Python 3.2.3的软链接。

第二行创建/usr/bin/python3这个软链接指向Python 3.4.3。

第三行创建一个pip的软链接。pip已经被官方集成到Python 3.4里,用它安装pypi上的第三方模块很方便。

sudo rm /usr/bin/python3
sudo ln -s /opt/python3.4/bin/python3.4   /usr/bin/python3
sudo ln -s /opt/python3.4/bin/pip3.4         /usr/bin/pip3.4


至此,安装成功,打python3可以启动Python 3.4.3



需要说明一下,在新安装的Python 3.4.3里可以正常使用sqlite3,但sqlite的版本比较旧:



Windows上Python 3.4.3自带的sqlite版本是3.8.3.1,这是因为使用了Raspbian自带的sqlite的缘故,其它通过链接使用的模块也可能出现此问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: