美文网首页
ubuntu python2.7 pyqt5 坑

ubuntu python2.7 pyqt5 坑

作者: 么得感情的扣6机器 | 来源:发表于2019-03-27 18:55 被阅读0次

    在网上看了很多关于python3的pyqt5安装方法后

    我是实验了很多,重装了系统,步入了自闭的深渊

    为什么?

    为什么人家都安装的好好的,还给了最后的qt窗口截图,我却报错频频???

    为什么?

    他们说的那些东西,在我系统上根本不可能成功?难道连ubuntu我都装的是破解GHOST版本不成???

    为什么?

    自闭深渊如此诱人,我深陷其中,无法自拔,或者说,我根本就不想再出去???

    吸取的教训是

    1、请在安装一些会进入/usr/lib /include /local /share等的环境时,理性的,备份系统

    2、当看到某个库或者功能是在用源码编辑的时候,理性的,apt-cache search ,看看是不是apt本来就有,或者想通过apt install一下,看看是不是当前系统已经存在了你想要的包,毕竟make install进入的目录和apt并不是一个概念,当开始调用这些lib或者库的时候,不是所有的命令都指向同一个……这个时候,自闭深渊已经开始将你笼罩

    再说下那些坑

    如果你和我一样,用到了ROS robot oparetion system,请直接使用pyqt5

    python-qt5包,貌似在pypi上版本不一,报错正常,你可以在github上找到python-qt5的项目,说的很明白,是Windows下的包,人家python文件夹里都是dll,唉,当时是我想太多啊

    ubuntu 16.04下给我安装的python-pip 版本是8.1.1,每次用都会给我warning,现在版本是19.xxx了,赶快升级哦,土比,建议不要升级,因为升级完后,会有一点小warning和接下来的错误,当然,可以完美解决,但是pip 19还是有warning,它会告诉你,到2020年python2将停止维护等等,就像我们见到最终boss,boss不可攻击还一直对你说,回家搓迪奥去吧!

    尽量不要使用 apt install xxx* 这种安装方法,除非你会耐心了解*里面有多少你可用或者根本没有的东西

    python>> from PyQt5.QtWidgets import QApplication,

    或者

    python>>from PyQt5 import Qtcore

    报错???!!! 段错误(核心已转储)

    请给你当前每一个make install 的包进行 uninstall指令,重头检查自己现在是不是已经可以pyqt5了。

    如果说上述情况都没有,或者你根本不想去了解,也可以,下面就是简陋无比的pyqt5安装方法,当然了你一定有你的,www.如果我不是很清楚的话一定有一个地方会告诉我答案.com

    SEE YOU~

    ==============================================================================

    如果是python3安装pyqt5,只需要下面几句,包括qdesigner以及pyrrc5都会有了。

    sudo apt install qttools-dev*

    sudo apt install qt5-default

    sudo apt install python3-all-dev python3-pyqt5

    ==============================================================================

    我们在源码包里的通过 python configure.py而不是python3 configure.py 便指定了python版本。

    例如,通过python 来编译pyqt5源码的话,在make 文件生成.o静态库的时候我们就会看到

    -DPYTHON_LIB=\"libpython2.7.so\"

    -I/usr/include/python2.7

    这样的语句,便可以判断当前面对的python环境了,如果错了也不要紧,还没有make install呢,make install了也不要紧 还有make clean(一般来讲也就是install clean 或 uninstall 或 clean all之类的,如果报错说没有该命令,请自行观察makefile文件最后的几个冒号都有什么!!!)呢

    屁话说了这么多,咱们就来说说pyqt5的配置吧

    系统环境:Ubuntu 16.04.6

    python环境:python2.7.12 (提前安装好,apt-get install python-all-dev python-pip pip install wstool 等等,当然了,不安装也可以,哪里报错哪里处理即可)

    sip版本:Ubuntu自带4.17

    gcc g++版本:5.4.0 Ubuntu自带

    首先下载一些源码:

    sip(按需。下面提到)

    https://riverbankcomputing.com/software/sip/download

    pyqt

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

    这两个非常有必要,其他例如qt-creator了之类,看自己需求

    首先是sip版本的升级。

    什么是sip?

    说穿了就是python调用c/c++库的lib,python要用到的是他的so动态库,源码编译因为有了python configure.py 所以会安装在相应python对应版本的dist-package里面

    为什么要升级sip?

    要看自己目前的下载的pyqt的configure源码

    里面定义了对于sip_min_version 如果当前版本已经超过(注意他们代码中是<不是<=)要求,如果没达到要求,下载更高版本的sip源码编译

    编译很简单

    tar zxvf sip-xxxxxxxxxxxxxxxx

    cd sip-xxxxxx

    python configure.py

    sudo make

    先看make出错不,如果出错,www.怎么办呢我们还是搜索一下吧.com 如果不出错,则

    cd /usr/lib/python2.7/dist-package

    mkdir xxxBackup

    sudo mv sip* xxxBackup/

    将原来的sip备份一下

    然后 回到sip-xxxxxxx目录

    sudo make install

    如果不去备份sip

    则 sip -V 是新版本

    python>> import sip

    >>print sip.SIP_VERSION_STR

    还会是老版本,切记

    然后是有点槽但的pyqt源码编译

    首先,ubuntu下是自带python-pyqt5的

    还是看 import PyQt5 是否报错即可

    然后

    tar zxvf Pyqt5-xxxxxxxxx

    cd Pyqt5-xxxx

    python configure.py

    又报错

    ???

    大体意思是没找到当前系统上的qt5,最高版本也就是qtv4.8.0之类

    但是当sudo apt-get install python-pyqt5 pyqt5*等之后 依然报错

    而且所谓的 sudo apt-get install qt-sdk 里面根本没有关于python2的包支持???

    甚至Ubuntu还有点想笑>>>python-pyqt5已经是最新版本了,干嘛要我再安装???!!!

    其实简单

    sudo apt-get install qt5-default

    在进入Pyqt5-xxx目录

    sudo make

    sudo make install

    当然了

    sudo apt-get install pyqt5*

    这句并非没有用

    安装之后,我们就可以在

    /usr/lib/x86_64-linux-gnu/qt5/bin/designer

    这个路径找到designer这个工具了

    ok

    pyqt5已经install

    designer也已经有了

    是要用pycharm还是eric

    自然是随自己喜欢的搞咯~

    相关文章

      网友评论

          本文标题:ubuntu python2.7 pyqt5 坑

          本文链接:https://www.haomeiwen.com/subject/mdjtbqtx.html