在Ubuntu 14.04 64bit上安装python-pyqt5软件包(python 2.7)
一、摘要
python-pyqt5 软件包是做什么的,我在Ubuntu 14.04 64bit上该如何安装呢?
pyqt5 python的GUI开发包。也就是跨平台的图形化开发包
http://www.riverbankcomputing.com/software/pyqt/download5
下载安装即可。安装的过程很漫长,繁杂,特将踩坑过程记录出来。另外,这可能是目前为止网上最好的一篇pyqt5的安装笔记,比其它同类安装过程都简洁。
二、简介
PyQt是Qt库在Python的绑定版本,PyQt为我们Python程序员提供了使用完整Qt应用程序接口,几乎可以用Python做任何C++能做的事。作为一种编程语言,python相对于c++的优点是在编程效率上。
PyQt(Python的GUI模块)既成熟又稳定,并且有庞大用户的群体,我从用户那儿得到的两个最普通的反馈是它恰到好处和它很简单易用。
PyQt 5.4.2版本最新发布了,Qt 库的Python绑定。这个版本已经完美的支持 Qt v5.2.1了,包括最新新的组件QtBluetooth、QtPositioning、QtMacExtras、QtWinExtras 和 Qt11Extras 模板等。
PyQt5支持Python v2.6, v2.7 and v3.
配置PyQt5之前,必须首先安装SIP。
三、安装
1.安装QT库(含QT4和QT5)
sudo apt-get install qt-sdk
下载的软件包很大
如果自己编译QT库,那就需要手动修改路径
cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/
会有一个default.conf配置文件,可以修改默认配置文件为你编译好的QT库路径
2.安装SIP
从官网
http://www.riverbankcomputing.com/software/sip/download
下载最新稳定的tar.gz源码包,当前版本是sip-4.16.8.tar.gz,并解压
3.安装PyQt5
建议从官网
http://www.riverbankcomputing.com/software/pyqt/download5
下载源码包,不要从github上
https://github.com/baoboa/pyqt5
下载源码,因为编译有问题,参见遇到的问题4.
解压源码后,进入源码目录,运行
python configure.py --sip-incdir=/usr/include/python2.7
make -j4
sudo make install
编译过程很漫长,我的顶配ThinkPad T420温度飙到80+度,持续十多分钟。
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
出错原因,没有安装qt4库,执行
sudo apt-get install qt-sdk
问题2
Error: Make sure you have a working sip on your PATH or use the --sip argument to explicitly specify a working sip.
问题3
sipAPIQtCore.h:28:17: fatal error: sip.h: 没有那个文件或目录
参考链接
https://shenwang.blog.ustc.edu.cn/huhamhire-hosts/
问题4
qpyopengl_add_constants.o:在函数‘qpyopengl_add_constants(_object*)’中:
qpyopengl_add_constants.cpp:(.text+0x0): `qpyopengl_add_constants(_object*)'被多次定义
qpyopengl_add_constants.o:qpyopengl_add_constants.cpp:(.text+0x0):第一次在此定义
collect2: error: ld returned 1 exit status
make[1]: *** [libQtGui.so] 错误 1
make[1]:正在离开目录 `/home/taoyx/program_develop/pyqt5/QtGui'
仔细研究发现该QtGui目录下有两个同名文件并且实现代码完全相同, 不同之处仅是:
qpyopengl_add_constants.cpp,使用defined(SIP_FEATURE_PyQt_OpenGL)控制
qpyopengl_add_constants.c 没有使用宏控制
问题应该是禁用该宏才不会导致该问题
先验证PyQt4和PyQt5模块是否能成功加载?
#!/usr/bin/env python
#encoding: utf-8import sys
from PyQt5 import QtCore, QtGui, QtWidgetsif __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)w = QtWidgets.QWidget()w.resize(250, 150)w.move(300, 300)w.setWindowTitle('helloworld')w.show()sys.exit(app.exec_())
运行效果截图
六、参考文献
[3].http://my.oschina.net/jlan/blog/402669 hello world示例
在Ubuntu 14.04 64bit上安装python-pyqt5软件包(python 2.7)相关推荐
- 在Ubuntu 14.04 64bit上安装Markdown编辑器Remarkble
目前Markdown已经是非常流行和高效的文档整理和书写工具语言, 我以前接触过, 但是一直没有坚持下来, 这次五一假期期间我强迫自己去熟悉它的语法格式和编辑器, 原来我在Ubuntu 14.04 6 ...
- 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad
简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...
- 在Ubuntu 14.04 64bit上安装numpy和matplotlib库
机器学习是数据挖掘的一种实现形式,在学习<机器学习实战>过程中,需要python环境中安装好numpy和matplotlib库,特此将我在Ubuntu 14.04 64bit上的摸索过程总 ...
- 在Ubuntu 14.04 64bit上安装StarUML 2.5版本
StarUML是来自韩国的一个优秀的UML绘图软件, 原来是免费软件, 现在需要付费购买.当然免费使用功能会有诸多限制. 它支持Windows, Linux和Mac OS等平台. 下面是我在Ubunt ...
- 在Ubuntu 14.04 64bit上安装百度云Linux客户端BCloud
百度云是一个不错的网盘,Bcloud 是一个 Linux 下超赞的客户端, 官网 github: https://github.com/LiuLang/bcloud-packages 和kwplaye ...
- 在ubuntu 14.04 64bit上安装酷我音乐盒Linux客户端kwplayer
kwplayer 是linux桌面下的轻量级的音乐播放软件, 由LiuLang同学开发, 使用的是Python3+gtk3, 开源的(GPLv3). 它的主要特点有: • 使用了kuwo.cn(酷我音 ...
- 酷我音乐for linux,在ubuntu 14.04 64bit上安装酷我音乐盒Linux客户端kwplayer
kwplayer是linux桌面下的轻量级的音乐播放软件, 由LiuLang同学开发, 使用的是Python3+gtk3, 开源的(GPLv3). 它的主要特点有: 使用了kuwo.cn(酷我音乐盒) ...
- 在ubuntu 14.04 64bit上安装酷我音乐盒Linux客户端
kwplayer是linux桌面下的轻量级的音乐播放软件, 由LiuLang同学开发, 使用的是Python3+gtk3, 开源的(GPLv3). 它的主要特点有: 使用了kuwo.cn(酷我音乐盒) ...
- 在Ubuntu 14.04 64bit上安装CHM阅读器KchmViewer 5.3
kchmviewer是一款不错的开源软件,你可以使用它在linux系统下阅读chm格式的电子书.KchmViewer 作为一款使用Qt开发的程序,与KDE 桌面环境整合得很好.从语言兼容性上看,Kch ...
最新文章
- 运行在CentOS7.5上的Django项目时间不正确问题
- jetson nano 用 tensorrt 运行 nanodet(kitti数据集)
- (原创)JAVA注解应用——实现属性的自动检测
- 【ffmpeg for wince】音视频编解码多平台移植(for window/wince)
- python cursor游标_第二十三天 python中游标的使用
- PyTorch更新了:支持Windows,新增零维张量
- 832计算机专业基础,2019年考试科目832计算机组成原理与数据结构.doc
- (day 17 - 快排)剑指 Offer 40. 最小的k个数
- html5游戏作弊码,HTML5新手必备的入门指南秘籍
- MQL5语法基础(三)
- Error:java.lang.RuntimeException: Some file crunching failed, see logs for detail
- FBReader工程结构解析
- 东南大学计算机考研专业课科目,东南大学计算机技术(专业学位)研究生考试科目和考研参考书目...
- 熊猫直播P2P分享率优化(上):IP组网
- python中map函数返回值类型_Python学习第42课-map()函数
- 我的世界1.12.2java下载_我的世界:Minecraft Java版 1.12.2-pre1发布
- 2017面向对象程序设计(Java)第十七周助教工作总结
- LivePlayer.js播放器遇到悬停英文提示如何切换显示成中文
- 量子计算成区块链的达摩克利斯之剑,Hcash却选择装剑入鞘
- 【Golang】Golang语言编程规范
热门文章
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
- PyCharm中Directory与Python package的区别
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
- bootstrap:按钮,下拉菜单
- 一些可能没用过的调试窗口
- UVa 10051 Tower of Cubes(类似LIS)
- UVa 10112 - Myacm Triangles
- HDU-1698-Just a Hook
- 计算机电缆线对成缆系数,计算机电缆绞合系数 - 无图版
- python拆分excel的sheet为单文件_python拆分Excel表格并发送邮件