Skip to content

Ubuntu 12.04 PyQt5 安装指南 #12

Open
@bieberg0n

Description

@bieberg0n
Owner

#1 Python3.5

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5

#2 Qt5

wget http://mirror.bit.edu.cn/qtproject/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x64-5.5.1.run
chmod a+x qt-opensource-linux-x64-5.5.1.run
sudo ./qt-opensource-linux-x64-5.5.1.run
sudo ln -s /opt/Qt5.5.1/5.5/gcc_64/bin/qmake /usr/bin/

安装完成后配置一下PATH,在当前用户主目录下的.bashrc (or .zshrc)文件中加入:

export QTDIR=/opt/Qt5.5.1/5.5/gcc_64/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${QTDIR}lib
export PATH=${QTDIR}bin:${PATH}                                          
export QT_QPA_PLATFORM_PLUGIN_PATH=${QTDIR}plugins/

#3 SIP

下载:http://www.riverbankcomputing.com/software/sip/download

tar xvf sip-4.16.4.tar.gzcd sip-4.16.4
python3 configure.py 
make
sudo make install

#4 PyQt5

下载:http://www.riverbankcomputing.com/software/pyqt/download5

tar xvf PyQt-gpl-5.3.2.tar.gz
cd PyQt-gpl-5.3.2
python3 configure.py

注意:此命令生成各种Qt模块后,其中的QtWebKitWidgets模块由于Qt4和Qt5的qprinter.h所属模块的调整(Qt4存在于 QtGui中,Qt5将其调整到QtPrintSupport中了),QtWebKitWidgets的Makefile中缺失了对 QtPrintSupport的头文件目录引用,会导致后面编译PyQt5时无法找到qprinter.h头文件,编译失败(编译过程非常漫长):qprinter.h: No such file or directory
解决方案:在 /opt/Qt5.5.1/5.5/gcc_64/include/QtPositioning/ 和 /opt/Qt5.5.1/5.5/Src/qtlocation/include/QtPositioning/ 以及目录中放置qgeolocation.h文件

wget https://raw.githubusercontent.com/RSATom/Qt/master/qtlocation/src/positioning/qgeolocation.h
sudo cp qgeolocation.h /opt/Qt5.5.1/5.5/gcc_64/include/QtPositioning/
sudo mkdir -p /opt/Qt5.5.1/5.5/Src/qtlocation/include/QtPositioning/
sudo cp qgeolocation.h /opt/Qt5.5.1/5.5/Src/qtlocation/include/QtPositioning/ 

编译

make
sudo make install

安装完成后进入Python3环境验证是否安装成功:

python3
>>> from PyQt5.QtCore import PYQT_VERSION_STR
>>> print(PYQT_VERSION_STR)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @bieberg0n

        Issue actions

          Ubuntu 12.04 PyQt5 安装指南 · Issue #12 · bieberg0n/blog