到PyQt官网去下载最新版本

https://www.riverbankcomputing.com/software/pyqt/download5

根据提示我们首先应该安装SIP,什么是SIP呢,百度一下,是用来调用c/c++模块的,因为qt是用c++写的,pyqt就是一个中间件,我们写一句python代码

告诉pyqt我要生成一个窗口,然后pyqt就去用到sip的东西去调用qt的c++窗口模块,个人理解,不保证准确

说到这里我们的SIP已经下载下来了,文件sip-4.17.tar.gz

tar -xzvf sip-4.17.tar.gz

cd sip-4.17/

python3 configure.py  因为我们是要搭建的pyqt5,pyqt5需要python3.x  所以这个地方用python3 来执行配置文件 现在的ubuntu发行版默认都是自带 python2.x和python3.x 两个版本

如果这个步没有错误的话 sudo make && sudo make install 就安装好了

遇到错误一定要看错误描述,我到最后一步就出错了 ,提示我stdio.h没有找到,应该是没有gcc编译环境  解决办法: sudo apt-get install build-essential

接着还会提示缺少 Python.h  解决办法  :  sudo apt-get install python3-dev

第一步完成 接着我们下载PyQt源文件:PyQt-gpl-5.5.1.tar.gz

tar -xzvf PyQt-gpl-5.5.1.tar.gz

cd PyQt-gpl-5.5.1/

python3 configure.py   配置这一步出现错误,

他默认去找qt4下面的qmake,下面他提示我说:“看样子你用的python3” 试试自己指定qmake的路径,好,根据他的提示我自己指定qmake的路径

python3 configure.py  --qmake=/usr/lib/x86_64-linux-gnu/qt5/    写到这个地方我就按tab补全路劲  结果使劲按下面根本就没有qmake,

也就是说我们还没有安装qt,

解决办法 : sudo apt-get install qt5-default

修正一下,如果按照上面一行安装qt通常来说不是最新版本,我第一次就这么干的,安装完我去看pyqt的库发现少了很多,比官方介绍的要少很多库,

qt官方文档介绍QtWebEngine用来替代QtWebKit,但是我发现我的库里面居然没有QtWebEngine,再去看pyqt官方文档,也列出了QtWebEngine库,

还列出了很多我本地没有的库,正纳闷儿,我在代码里面偶然看到一个qt的版本函数QtCore.qVersion() ,然后我就输出看了一下,结果我的版本是 qt5.2.1

我于是明白了什么,马上去qt官网下载最新的5.5  ,

下载地址:http://www.qt.io/download-open-source/

首先映入眼帘的就是那个大大的 Download Now 按钮,这个是在线安装程序,下载下来后就是一个安装器,我试了两次,非常慢,基本上都是半路卡死

所以强烈建议下载离线版:红框圈出来的地方,进去过后找到Linux 二进制包,继续往下面滑动还有源码包,推荐下载二进制包就可以了,方便些,

下载下来是:qt-opensource-linux-x64-5.5.1.run

添加执行权限: sudo chmod +x qt-opensource-linux-x64-5.5.1.run

运行:./qt-opensource-linux-x64-5.5.1.run

安装过程中可以选择qt的路径,我安装在 /opt/Qt5.5.1 下面

然后重新配置:

python3 configure.py  --qmake=/opt/Qt5.5.1/5.5/gcc_64/bin/qmake

接下来配置就通过了,然后就是  sudo make && sudo make install

这一步根据电脑性能可能要等一会儿,我一步用了20多分钟,要结束的时候又报错了,no

'qgeolocation.h' file not found

我去看了一下下载下来的PyQt文件里面 cd PyQt-gpl-5.5.1/QtPositioning/ && ls

发现没有这个头文件,这个模块主要是用于定位的,手机上定位用的多,电脑上还是算了吧  然后回到上一步重新配置,直接忽略这个模块

python3 configure.py --qmake=/opt/Qt5.5.1/5.5/gcc_64/bin/qmake  --disable=QtPositioning

重新 sudo make && sudo make install 通过

OK,现在本地的库和官方介绍保持一致了。

小测一下导入import PyQt5没问题,但是提示:(注意:这一步错误你们因该遇不到,我因为之前装了pyqt4才导致的问题)

the sip module implements API v11.0 but the PyQt5.QtCore module requires API v11.2

google了一番:

import sip ;  print(sip, sip.SIP_VERSION_STR)

它输出的居然是: ” /usr/lib/python3/dist-packages/sip.cpython-34m-x86_64-linux-gnu.so “  4.1.5

看了一下stackoverflow 上的讨论,提问者贴出来的是  ” /usr/lib/python3/dist-packages/sip.so “  4.1.5

我进入目录看一下,我里面也有一个sip.so库, 然后我就试了一下把原来的 sip.cpython-34m-x86_64-linux-gnu.so  改了个名字

奇迹发生了有木有!!! 这次输出 ” /usr/lib/python3/dist-packages/sip.so “  4.1.7 了  真不容易。。

到此。PyQt5环境安装结束,各种坑基本上都领略了一番。好简单测试一下

 #!/usr/bin/python3
# -*- coding: utf-8 -*- import sys
from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show() sys.exit(app.exec_())

运行效果如下:

ubuntu搭建pyqt5开发环境的更多相关文章

  1. PyCharm搭建pyqt5开发环境

    PyCharm搭建PyQt5开发环境 1.安装PyQt5 2.PyCharm环境配置 2.1 添加QtDesigner 2.2 添加PyUIC 2.3 添加Pyrcc 2.4 添加assistant ...

  2. Ubuntu搭建Java开发环境-刘志敏-专题视频课程

    Ubuntu搭建Java开发环境-3人已学习 课程介绍        主要介绍在Ubuntu环境如何安装Java开发的基本环境课程收益    学会Ubuntu中安装jdk.mysql.maven和id ...

  3. Ubuntu 搭建PHP开发环境

    Ubuntu确实很好玩.有喜欢的命令行,简洁的界面,不同于Window要的感觉.偶尔换换环境工作,学习Linux的思维方式,是一种不错的做 法.之前也折腾过Ubuntu,不过,因为网络的问题,一直没有 ...

  4. Ubuntu搭建交叉编译开发环境

    在Linux驱动开发过程中,往往需要搭建交叉编译开发环境,其中,最重要的环节就是安装交叉编译工具链,本文介绍如何在Ubuntu下搭建交叉编译开发环境. 1.官网下载交叉编译工具链 链接如下: http ...

  5. ubuntu 搭建Erlang开发环境

    首先,打好库: sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get insta ...

  6. Ubuntu搭建Android开发环境

    前言 由于迁移到新的笔记本,所以Android开发环境须要又一次配置了.android官网有配置教程,我正好回想一遍 配置Java环境 下载jdk.官网地址:http://www.oracle.com ...

  7. ubuntu搭建php开发环境记录

    这两天自己在阿里云上面买了一个ecs,系统选的是ubuntu16.04,第一件事就是先搭环境,这次准备使用lamp组合. Apache安装 首先安装apache服务器,ubuntu下面使用apt-ge ...

  8. ubuntu搭建java开发环境

    最近因为要编译Android源码,但是报错因为Java版本低于1.7.x而不能进行编译,于是进行Java版本更改. 安装前软件环境: Ubuntu14.02,Java 1.6.0_29 目标软件环境: ...

  9. Linux -- Ubuntu搭建java开发环境

    Steps 1 Check to see if your Ubuntu Linux operating system architecture is 32-bit or 64-bit, open up ...

随机推荐

  1. androidSDK无法更新的解决方法之一

    方法来源于: http://www.eoeandroid.com/thread-281075-1-1.html 试试这个,能解决国内访问Google服务器的困难启动 Android SDK Manag ...

  2. 1,字符是否为空,2,比较两个字符大小。String.Compare(String, String)。string.IsNullOrEmpty(string)

    1, String.Compare 方法 (String, String) 比较两个指定的 String 对象. 值 条件 小于零 strA 小于 strB. 零 strA 等于 strB. 大于零 ...

  3. 如何撰写PRD

    PRD(Product-Requirement-Document,产品需求文档),这对于任何一个产品经理来说都不会陌生的一个文档,一个PRD是衡量一个产品经理整体思维的标准,一个PRD可以看出一个产品 ...

  4. Android中如何设置RadioButton在文字的右边,图标在左边

    from:http://blog.csdn.net/sunnyfans/article/details/7901592?utm_source=tuicool&utm_medium=referr ...

  5. apt-get update更新源时,出现“Hash Sum mismatch”问题

    当使用apt-get update更新源时,出现下面"Hash Sum mismatch"的报错,具体如下:root@localhost:~# apt-get update.... ...

  6. 编译php-5.6出错,xml2-config not found

    今天在centos上编译PHP-5.6 cd php-5.6 ./configure --prefix=/usr/local/php5./ --with-apxs2=/usr/local/apache ...

  7. 史上最全的CSS hack方式一览

    做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...

  8. 去掉Win7资源管理器左侧导航窗格中的收藏夹、库等的方法

    去掉Win7资源管理器的收藏夹/库/家庭组/网络的方法 将Windows 7资源管理器左侧导航窗格中的收藏夹.库.家庭组.网络全部去掉,只剩下计算机, 以收藏夹为例作简要说明. 首先打开注册表编辑器, ...

  9. [转]ReactPHP── PHP版的Node.js

    FROM : http://www.csdn.net/article/2015-10-12/2825887 摘要:ReactPHP作为Node.js的PHP版本.在实现思路,使用方法,应用场景上的确有 ...

  10. K8 系统中省市县数据表的设计可以反映出什么? 通过一个基础业务表的设计品味软件系统的整体架构

    1:没有严谨的Id思想,不变化的Id思想,看不见的Id的思想. 2:数据不严谨,没有上下级关系,没有树形结构,ParentId 的思想. 3:表之间的关系都是弱关联,基础数据一修改业务数据就容易乱套. ...