Deepin15.10.1搭建PyQt5/PySide2环境(基于Anaconda环境)

PyQt5/PySide2是Qt环境的python实现,Qt可以实现跨平台的GUI编程。
PyQt5/PySide2环境需要包含 Anaconda(Python3环境),PyQt5/PySide2,eric6(把Qt的GUI设计文件转换为python文件),QtDesigner(Qt的GUI生成器)

1 Anaconda 2019.03

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装完成之后更换清华国内源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

2 PyQt5 /PySide2

  PyQt是GPLv3协议,大意是你的程序中用了它,你的程序就要开源,如果闭源商用就会违反协议(后果自负,脸皮够厚无所谓)。除非你搞封装动态加载那一套来强行规避。
  PySide是LGPL协议,如果你只是作为库用用它,你的程序还是可以闭源商用。

  所以很多人喜欢PySide。如果不做商业项目,强烈建议使用PyQt,资料多,稳定。需要开发闭源商用软件的就用PySide。

  GPL(General Public License)和LGPL( Lesser General Public License)是GNU的两种License。越来越多的自由软件(Free Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反了GPL的授权。如果是个人或不正规的公司倒也无所谓,但如果是有规模的公司,恐怕会有被起诉的风险。

  LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与 GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在 LGPL或其它GPL变种的授权下。

PyQt5/PySide2 可以通过Python的pip命令安装。

(1)利用conda命令创建虚拟环境

conda create -n qt python=3
(base) zhou@ZHOU-PC:~$ conda create -n qt python=3
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/zhou/Documents/soft/anaconda3/envs/qt

  added / updated specs:
    - python=3

The following NEW packages will be INSTALLED:

  ca-certificates    anaconda/pkgs/main/linux-64::ca-certificates-2019.5.15-0
  certifi            anaconda/pkgs/main/linux-64::certifi-2019.6.16-py37_0
  libedit            anaconda/pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
  libffi             anaconda/pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
  libgcc-ng          anaconda/pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libstdcxx-ng       anaconda/pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  ncurses            anaconda/pkgs/main/linux-64::ncurses-6.1-he6710b0_1
  openssl            anaconda/pkgs/main/linux-64::openssl-1.1.1c-h7b6447c_1
  pip                anaconda/pkgs/main/linux-64::pip-19.1.1-py37_0
  python             anaconda/pkgs/main/linux-64::python-3.7.3-h0371630_0
  readline           anaconda/pkgs/main/linux-64::readline-7.0-h7b6447c_5
  setuptools         anaconda/pkgs/main/linux-64::setuptools-41.0.1-py37_0
  sqlite             anaconda/pkgs/main/linux-64::sqlite-3.28.0-h7b6447c_0
  tk                 anaconda/pkgs/main/linux-64::tk-8.6.8-hbc83047_0
  wheel              anaconda/pkgs/main/linux-64::wheel-0.33.4-py37_0
  xz                 anaconda/pkgs/main/linux-64::xz-5.2.4-h14c3975_4
  zlib               anaconda/pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3

Proceed ([y]/n)? 

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate qt
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) zhou@ZHOU-PC:~$ conda activate qt
(qt) zhou@ZHOU-PC:~$ 

(2) PyQt5/PySide2

  PyQt5/PySide2可以通过pip命令安装,可以只安装其中一种即可,目前多为安装PyQt5。
  Anaconda中自带的PyQt5版本为5.9.X,版本较低,现在最新的版本为5.12.X,因此若要安装最新的版本则必须使用Python自带的pip命令安装。

pip install pyside2
(qt) zhou@ZHOU-PC:~$ pip install pyside2
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting pyside2
  Downloading https://mirrors.aliyun.com/pypi/packages/3d/a1/9300c616621ba1d1a3426d98b59cd5403045eafaa0263e68e7d4d48a49e4/PySide2-5.13.0-5.13.0-cp35.cp36.cp37-abi3-manylinux1_x86_64.whl (152.9MB)
     |████████████████████████████████| 152.9MB 1.5MB/s 
Collecting shiboken2==5.13.0 (from pyside2)
  Downloading https://mirrors.aliyun.com/pypi/packages/d5/e2/e121fa55a759a286588a4017f57f34c03e8b35722131a2189a4f0e84bbac/shiboken2-5.13.0-5.13.0-cp35.cp36.cp37-abi3-manylinux1_x86_64.whl (792kB)
     |████████████████████████████████| 798kB 1.6MB/s 
Installing collected packages: shiboken2, pyside2
Successfully installed pyside2-5.13.0 shiboken2-5.13.0

  安装PySide2时会自动安装依赖包shiboken2

  PyQt5环境通过另外一种方式安装(安装eric6时自动安装)

3 QtDesigner

注意:PyQt5.9以后的版本不在包含QtDesigner,需要自行安装,在Windows环境下可以通过pip命令直接安装pyqt5-tools,里面就包含了QtDesigner等工具,但是在Linux或MacOS环境下该命令不适用,最好的解决办法是安装完整版本的Qt开发环境。
  QtDesigner需要安装Qt环境,Deepin15.10环境自带的Qt环境为4.9.x,最新Qt环境为5.12.x,因此要使用最新环境需要到官网下载安装包。

http://download.qt.io/archive/qt/

 下载完成之后安装Qt











QtDesigner位置:

/home/zhou/Documents/soft/Qt5.12.4/5.12.4/gcc_64/bin/designer

QtDesigner需要记住,后面eric6中还需要指定QtTools文件位置

4 eric6

 eric6需要到官网下载安装包。

https://sourceforge.net/projects/eric-ide/files/eric6/stable/

(1)安装eric6

文件下载完成之后解压,终端命令行模式进入该文件运行命令

python install.py
(qt) zhou@ZHOU-PC:~/Documents/soft/eric6$ python install.py
Checking dependencies
Python Version: 3.7.3
PyQt5 could not be detected.
Error: No module named 'PyQt5'

Shall 'PyQt5' be installed using pip? (Y/n) 
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting PyQt5
  Downloading https://mirrors.aliyun.com/pypi/packages/83/d0/b4860e06095c4e1e60294365bd0d2a0d3e3d4b9b64bcd0241f083ffc01f2/PyQt5-5.12.3-5.12.4-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (61.9MB)
     |████████████████████████████████| 62.0MB 1.7MB/s 
Collecting PyQt5_sip<13,>=4.19.14 (from PyQt5)
  Downloading https://mirrors.aliyun.com/pypi/packages/fe/4a/d995f9565b4cf1fa91781e377175b118b7c2bcb46e7c8f946e2745ee3e7f/PyQt5_sip-4.19.17-cp37-cp37m-manylinux1_x86_64.whl (67kB)
     |████████████████████████████████| 71kB 1.5MB/s 
Installing collected packages: PyQt5-sip, PyQt5
Successfully installed PyQt5-5.12.3 PyQt5-sip-4.19.17
Found PyQt5
Found pyuic5
PyQtWebEngine could not be detected.
Error: cannot import name 'QtWebEngineWidgets' from 'PyQt5' (/home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages/PyQt5/__init__.py)

Shall 'PyQtWebEngine' be installed using pip? (Y/n) 
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting PyQtWebEngine
  Downloading https://mirrors.aliyun.com/pypi/packages/da/fb/aa8344730c31174ffc81453da2d8ad2a626e618915529da5c73185ccca89/PyQtWebEngine-5.12.1-5.12.4-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (60.4MB)
     |████████████████████████████████| 60.4MB 1.7MB/s 
Requirement already satisfied: PyQt5>=5.12 in /home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages (from PyQtWebEngine) (5.12.3)
Requirement already satisfied: PyQt5_sip<13,>=4.19.14 in /home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages (from PyQt5>=5.12->PyQtWebEngine) (4.19.17)
Installing collected packages: PyQtWebEngine
Successfully installed PyQtWebEngine-5.12.1
QScintilla could not be detected.
Error: cannot import name 'Qsci' from 'PyQt5' (/home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages/PyQt5/__init__.py)

Shall 'QScintilla' be installed using pip? (Y/n) 
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting QScintilla
  Downloading https://mirrors.aliyun.com/pypi/packages/61/40/942a155ac1476861befbcff8ab7f73e233aba48f88af1bf58e98f9794ec3/QScintilla-2.11.2-5.12.4-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (2.7MB)
     |████████████████████████████████| 2.7MB 1.5MB/s 
Requirement already satisfied: PyQt5>=5.10.1 in /home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages (from QScintilla) (5.12.3)
Requirement already satisfied: PyQt5_sip<13,>=4.19.14 in /home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages (from PyQt5>=5.10.1->QScintilla) (4.19.17)
Installing collected packages: QScintilla
Successfully installed QScintilla-2.11.2
Found QScintilla2
Found QtGui
Found QtNetwork
Found QtPrintSupport
Found QtSql
Found QtSvg
Found QtWidgets
Found QtWebEngineWidgets
Qt Version: 5.12.4
sip Version: 4.19.17
PyQt Version: 5.12.3
QScintilla Version: 2.11.2
All dependencies ok.

Cleaning up old installation ...

Creating configuration file ...

Compiling user interface files ...

Compiling source files ...

Installing eric6 ...
Installing Python API files to '/home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages/eric6/api/python'.
Installing Ruby API files to '/home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages/eric6/api/ruby'.
Installing QSS API files to '/home/zhou/Documents/soft/anaconda3/envs/qt/lib/python3.7/site-packages/eric6/api/qss'.

Installation complete.

默认会安装PyQt5及依赖关系PyQt-sip和QScintilla,以及PyQtWebEngine。

(2)配置eric6

终端命令行中输入: eric6,启动eric6。eric6从18.xx版本不在支持中文界面。
“Setting - Preferences”,打开首选项页面。


① 设置Python编译器

  

② 设置API

  

③ 设置自动补全

  

④ 设置自动检查时间间隔,默认为5秒

  

⑤ 设置字体大小

   

⑥ 设置Typing

  

⑦ 设置工作目录

  

⑧ 设置QtTools

  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容