1.安装QT

  配置QT PATH

    在 /etc/profile文件中追加

export QTDIR=/usr/local/Qt5.4.2/5.4/gcc_64
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib
export PATH=${QTDIR}/bin:${PATH}

注意${QTDIR}/bin和${PATH}的顺序!因为Ubuntu14.04默认${PATH}路径中的/usr/bin下存在诸多qt命令(确切的说是指向qtchooser的软连接,qtchooser最终会选择系统自带的Qt4命令:但是这些命令默认都不存在),如果${QTDIR}/bin在${PATH}之后,会导致Qt命令失效。

特别是qmake命令,在后续安装中需要用到,保险起见,在终端输入qmake,如果显示qmake命令不存在,请通过创建软连接进行解决:

将/usr/bin下的qmake软连接到/usr/local/Qt5.4.2/5.4/gcc_64/bin/qmake上:

sudo ln -s /usr/local/Qt5.4.2/5.4/gcc_64/bin/qmake /usr/bin/qmake

2.安装Python3.4及Python3.4-dev

3.安装SIP

  先安装

sudo apt-get install PyQt5-dev

SIP是python调用C/C++库的必备模块。因此SIP是PyQt的依赖工具,安装PyQt之前必须先安装对应版本的SIP。PyQt编译时使用的SIP版本必须与python默认调用的SIP保持一致!否则python中是无法调用PyQt的。这里我们使用最新的SIP 4.16.8.

Ubuntu14.04中貌似是自带4.15版的SIP(or 自己安装python扩展是自动安装的)。终端输入:

sip -V  

  查看已安装SIP版本,如果存在其他版本,请查看python3的dist-packages目录下是否存在sip相关文件。如果存在将其删除:

sudo -rm /usr/lib/python3/dist-packages/sip*  

  然后正式安装SIP4.16.8

tar -zxvf sip-4.16..tar.gz
cd sip-4.16.
python3 configure.py
sudo make
sudo make install

SIP无需配置,只是需要安装完成后注意核对一下版本:

分别在终端输入:

sip -V 
python3
>>>import sip
>>>print(sip.SIP_VERSION_STR)

查看二者显示的版本是否一致。如不一致,需要重新执行上述删除过程和安装过程。版本不一致将意味着后面编译PyQt所使用的SIP和Python3调用的SIP的不一致,导致在Python3中调用PyQt的相关模块(from PyQt5 import QtCore)出现类似如下错误:

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

4.安装pyqt5

5.安装QScintilla2

  依赖包

sudo apt-get install libgl1-mesa-dev

配置pyqt5环境 for python3.4 on Linux Mint 17.1的更多相关文章

  1. Linux Mint 17一周使用体验

    1 Win7下安装Mint双系统 Linux Mint支持直接从Win7硬盘引导安装,非常方便,不用制作U盘引导,更不用刻盘安装了.Mint有Cinnamon和Mate两种桌面,听说Mate更加简洁节 ...

  2. 安装Linux Mint 17后要做的20件事

    Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异 ...

  3. Linux Mint 17.1 安装全配置

    Linux Mint 17.1 安装全配置 I. 前言 由于自己的本子出现了一些故障需要重新安装系统,就上网看看今年4,5月份发布的一些新的发行版来试试.原先电脑上安装的是opensuse13.2, ...

  4. Linux Mint 17使用小结

    用过蛮多的linux系统 linux mint是我比较喜欢和常用的一个系统,装的是linux mint xfce 64位版本,在这里记录使用中遇到的一些问题及解决的方法,备忘,方便以后查看. 1.首先 ...

  5. Linux Mint 17 + 小米WIFI创建手机热点

    转载:http://www.pppei.net/blog/post/690 亲测可行! 我的系统是linux mint 17.1 64位,所用wifi位小米WIFI. 以下是原文: 此方法在linux ...

  6. 【原创】linux mint 17.3 kvm 安装windows7虚拟机

    一.安装windows7虚拟机 linux mint 17.3是一个不错的桌面发行版本,我下载了 linux mint 17.3 for xfce 桌面版本,运行速度没得说,而且安装设置都挺简单,非常 ...

  7. Win7 下硬盘安装Linux Mint 17

    下载Linux Mint 17镜像,放到C盘根目录:解压出mint.iso文件中casper目录下的vmliunz和initrd.lz两个文件,同样放在C盘的根目录里. 在Win7上安装EasyBCD ...

  8. 在Centos7下docker配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)

    最近在学习Docker,准备做自动化测试代码集成的功能.如下文章的前提是已经安装好linux系统,且成功安装好Docker. 接下来我会按步骤一步一步的对自动化需要的一些环境进行安装,如果没有特别说明 ...

  9. pycharm配置tensorflow环境 适用于Python3.6 CPU

    一.环境 基于安装Python3.6以及pycharm. 二.在项目设置里配置编译环境 打开pycharm新建一个项目. 打开pycharm->file->setting->proj ...

随机推荐

  1. C# 语言规范_版本5.0 (第16章 异常)

    1. 异常 C# 中的异常用于处理系统级和应用程序级的错误状态,它是一种结构化的.统一的和类型安全的处理机制.C# 中的异常机制非常类似于 C++ 的异常机制,但是有一些重要的区别: 在 C# 中,所 ...

  2. java 用hmac-sha1进行签名

    public static String getSignature(String s) throws NoSuchAlgorithmException, UnsupportedEncodingExce ...

  3. dotnet的移除-->安装 升级

    之所以要升级dotnet 是因为项目中报了如下错误 意思就是版本低了 为了升级 我先要把之前的移除掉(用脚本移除) #!/usr/bin/env bash # # Copyright (c) .NET ...

  4. Web Service循序渐进学习

    1.Web service 是什么? (WebService 是可以通过互联网远程访问调用的应用程序,实现数据传输共享.这种应用程序理解为不同服务提供帮助.能够支撑实现应用程序发布访问的技术可以称为W ...

  5. python学习之glob模块

    如何批量获取文件路径 import glob import os def image_proc(): for files in glob.glob('/home/xxx/filename/*.png' ...

  6. wxWidgets显示视频

    wxWidgets中似乎没有专门用于显示视频的控件(虽然有wxWidgets本身的openGL控件wxGLCANVAS,但是我没有去试--) 按照这篇文章所讲的,从wxPanel继承出一个DrawPa ...

  7. GO interface显示类型转换方法

    一共两种,直接看代码 import ( "fmt") func main() { //var i interface{} = "TT" var i interf ...

  8. 重读The C programming Lanuage 笔记三:简单计算器程序

    //简单计算器 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <str ...

  9. 记一次-angular-数字格式化

    一个收费功能模块,需要做数据验证. input标签的ng-model的数据格式化 <input type="number" class="form-control& ...

  10. php 常用的调试方法

    file_put_contents("c:\1.log","输出字符串",FILE_APPEND);第三个参数是防止前面的内容被覆盖 error_log(pri ...