记一次macbook安装PyQt4的探坑历程

来源:互联网 发布:linux查看所有文件夹 编辑:程序博客网 时间:2024/06/04 19:14

背景

因为最近自己想搞个小项目,需要用到PyQt,所以需要在macbook上安装PyQt包,虽然过程比较简单,但绝谈不上是顺利,所以在此记录下,以备日后再用到,同时为后来者提供些帮助。

什么是PyQt?

官网给出的解释是





由此可以知道,PyQt实际上就是一套绑定到QT应用框架下的Python模块的集合,提供给你一系列Python接口,用以调用QT框架进行开发。


环境

系统:OS X 10.11.6

PYTHON VERSION:Python2.7

IDE:PyCharm

这里之所以着重指出环境,是因为安装过程中的问题基本都是环境相关的。


安装

由上面对于PyQt的说明,我们可以知道,PyQt实际上是基于QT应用开发框架的,所以要安装PyQt,本地首先要安装好QT作为环境支持。同时,因为QT本身提供的是一套C/C++接口开发库,所以这里又涉及到一个问题,既然PyQt是提供给Python的一套接口机制,那么,这中间就必然存在Python到C/C++库的一个绑定的过程,由此自然就引出了SIP,何为SIP?官网给出的解释如下:




可知,SIP是一个用于简化为C/C++库创建Python绑定的工具。而上面我们说过,PyQt实际上就是一个QT所提供的C/C++库的Python绑定,因此SIP自然也是PyQt的安装基础。


有上面的解释,基本就列出了PyQt的安装过程:

1、安装QT
2、安装SIP
3、安装PyQt

因为我的电脑是Macbook,所以采用brew进行安装,可根据系统环境的不同,选择对应的安装方式。

而我是直接忽略了前面两个,直接安装的PyQt,brew会进行相应的解析,找出软件依赖项,若是本地环境中没有安装,会自动进行下载安装。

brew install pyqt


安装过程基本不存在问题,就是需要下载安装QT和SIP,所以可能时间会比较久。


问题


接下来,问题出现了。当安装结束后,满心欢喜的我,在终端进行了最基本的测试,结果




import时竟然失败了。开始,我的第一反应是,安装失败了,但是查找发现,在/usr/local/lib/python2.7/site-packages目录下,是存在PyQt4的




于是,我推断应该是环境变量的问题

echo $PYTHONPATH

一看,果然



PYTHONPATH环境变量为空,于是乎,配置之。这里又引出了一个问题,在哪个文件中配置呢?请参见此博客,讲的透彻清晰。

因为我不光要在bash中是用python,还要在PyCharm和eclipse的PyDev中使用,所以果断设置用户级的环境变量,所以选择在/etc/profile文件中进行设置。在/etc/profile文件中添加如下语句

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages



修改保存后,记得使用

source /etc/profile

使得修改生效,再看看环境变量PYTHONPATH




再试下import PyQt4




可以看到正常了。好!!

孰不知,我实在是图样图森破。到PyCharm中,发现,还是找不到PyQt4。

简单的思考了一下,原本以为PyCharm在启动的时候,会自动读取系统中的环境变量配置,现在发现并不是这样的,所以在PyCharm中一定还存在设置环境变量的地方,简单的搜索了一下,发现果然如此:






和刚才一样,给PYTHONPATH环境变量加入值。果然PyCharm中也可以正常引入PyQt4了。

到此,对于PyQt4的安装和配置告一段落。
0 0