1 准备SD卡8G以上
编译过程中,会耗用大量存储空间,4G不够用的。
2 更新资源的索引清单
sudo apt-get update (从服务上下载索引清单) sudo apt-get upgrade (比较索引清单,更新依赖关系)
3 安装 python-dev
sudo apt-get install python-dev
否则在编译SIP时,会提示 fatal error: Python.h: No such file or directory
4 安装libqt4-dev
sudo apt-get install libqt4-dev
否则在编译PyQt时会提示 Error:Make sure you have a working Qt qmake on your PATH or use the -q argument to explicitly specify a working Qt qmake 5 依次安装SIP和PyQt
wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10/PyQt-x11-gpl-4.10.tar.gz tar vxf PyQt-x11-gpl-4.10.tar.gz cd PyQt-xll-gpl-4.10 python configure.py make make install
5 运行Python&GUI的源代码
在QLineEdit中输入文本,QLabel上会同步显示。下面这张图是周末两天的成果,虽说很是简陋,但运行成功的一刻,一切都值得了:)。
-----------------------------吐槽一下安装经历-----------------------------------------------------
今天年有一个项目,要做一个可以独立运行的测量系统,想着不连接PC时怎么实现自动测量的问题。前些天一直在弄Python GUI,于是想到了一直闲置着的raspberry Pi, 或许配上一块HDMI监视器可以用。周五了,一边打游戏,一边计划周末干点什么呢?游戏打得顺,心情也好。想好了周六,玩raspberry Pi,周日逛街(没逛成,时间不够用啊)。
周六,一早起来,没吃早饭,就开搞了,重新格式化 SD 卡,拷贝上去Noobs v1.2.1。开机安装系统,一路的傻瓜选项,最后一步忘了选DESKTOP 还是command line 模式,默认用了command line,因为不知道怎么用命令启动desktop,又重装了一遍,会的朋友请留言指导一下,谢谢了。
---------- 测试python
进入系统了,
先输入
1 |
print ‘hello world‘ |
没问题。
再来一个
1 2 |
import math
|
也没问题。
------ 试运行代码
于是想当然的网盘下载了,前些天写的GUI练习代码。运行,提示找不到PyQt4.QtCore, QtGui等,想来这个机器上的python没有PyQt模块,下载PyQt的 tar.gz包,按装之,又没有sip。好吧再下载sip,安装之,又提示找不到python.h。这个怎么回事,没头绪,找找网友的解释吧,哦,缺少开 发环境?
-------安装python开发环境和sip(具体做了什么?)
1 |
sudo apt-get instyall python-dev |
Python-dev安装了以后果然好了,SIP.4.14.4可以编译了,
------安装Qt4开发包和PyQt
切到PyQt的文件夹,python configure.py,提示找不到 qt qmake。这是怎么回事,网友说要装Qt,那为啥说没qmake呢?找了半天答案,原来qmake 是包含在qt包的里,一般安装时就会带的,试过仅仅安装qmake,没用( sudo apt-get install qt4-qmake)。qt官网下载那个安装包可大了,怎么办,因为用的是debian raspberry,就搜索了一下 debian Qt,找找有没有源以及安装包的名称。找到了以下的地址,http://packages.debian.org/unstable/main/qt-sdk 看了以后忽然开朗,安装libqt4-dev好像是可以的。果断sudo apt-get install libqt4-dev.好像是找到了资源包,可以下载不下来。根据提示用了一下sudo apt-get update ,重新sudo apt-get install libqt4-dev,问题解决了,原来资源索引更新过时了。第一次,编译PyQt时,中途出错停止了,重启系统后,发现只能进入command line模式,着实让我不知所措。幸好,拔了SD卡,插入笔记本时,意外发现SD卡,基本满了,于是换了8G SD卡,也重新验证了一下遍流程的正确性。