python3.9安装pyqt5,并设置pycharm

python3.9安装pyqt,并设置pycharm

前言

这个学期的暑假实训需要使用pyqt开发gui界面,然后我的python不知道发生了什么,安装总是爆出各种奇怪的错误,安装完后,开发和运行的过程中也发生了很多的离奇的问题,我浪费了很多的时间在解决各种报错上,项目进度被耽误了许多,幸运的是后来得到了一份大佬打包好的pyqt运行环境,这才顺利的完成了整个开发过程。
在结束开发后,我决定重装python,并且重新认真的安装一次pyqt,在经过几次重装后,终于得到了一个能够正确运行的开发环境,未来一段时间都不会受到相关困扰了。
于是我将这次重装的过程和一些思索写在这里,以供我自己未来查阅和其他人参考。

python的版本

在我写这篇文章的这个时间,安装pyqt5的python版本应该是python3.9较为合适,使用python3.10安装会出现问题。
pyqt5能在python3.10 环境安装成功的版本是5.15.6 , 而pyqt5-tools的最新版本是:pyqt5-tools 5.15.4.3.2,所以就会出现这样一个状况,python3.10只能安pyqt5 5.15.6,而pyqt5-tools只能到pyqt5-tools 5.15.4.3.2,tools的版本跟不上,所以在安装tools的时候怎么安都安不上。
这种问题不仅仅是出现在pyqt,我记得曾经学深度学习时,下载某些三方库的时候也会发生版本不兼容的问题,我得到的一个经验就是,如果允许,尽量不要安装最新的语言版本,这会导致某些第三方库版本跟不上,我在这次实训中安装pyqt的问题就有一部分是自作聪明的安装了最新的python。

安装sip、pyqt、pyqt-tools和qscintilla

在安装pyqt前必须先安装sip包

pip install sip

wanchengsip的安装后,安装pyqt和pyqt-tools,
可以直接使用命令:

pip install PyQt5
pip install PyQt5-tools

不过国外的源,下载起来实在太慢了,有些时候还会超时,建议使用国内的镜像。

pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple

另外,还要额外下载一个qscintilla的库,他本来是包含在pyqt里的才对,但是不知道为什么总是会”发生找不到Qsci模块”的错误,我找到的解决方法就是额外下载相关的包,大概原因仿佛也是版本兼容问题?下载的命令如下。

pip install qscintilla -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

完成以上下载没问题的话(反正我重装的python3.9是没有问题发生的),会在python的安装目录的Lib/site-packages下看到如下的目录结构。

python3.9安装pyqt5,并设置pycharm

接着需要验证一下我们的安装是否成功:我们使用python自带的IDLE shell,然后输入

import PyQt5
import PyQt5.Qsci  #这是为了验证Qsci是否安装成功
help(PyQt5)
help(PyQt5.Qsci)

如果结果类似如下则安装成功。可以使用pyqt进行基本的gui开发了。

python3.9安装pyqt5,并设置pycharm

有关pycharm的设置

经过以上的内容,可以使用pyqt进行开发,但是我们可以进一步设置pycharm以此来方便开发。
pyqt的tools中包含了designer.exe文件,可以用于设计ui界面。把他设定为pycharm的一个外部工具,会比在外面不停调用方便的多。
我们点击pycharm的文件->设置->工具外部工具,点击如下图所示的加号,就能够添加一个外部工具。

python3.9安装pyqt5,并设置pycharm
。。。。。。未完待续

Original: https://www.cnblogs.com/Akiyama-tsuki/p/16519080.html
Author: Akiyama_tsuki
Title: python3.9安装pyqt5,并设置pycharm

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643559/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • HTTPS安全加固配置最佳实践指南

    转载自:https://www.bilibili.com/read/cv16067729?spm_id_from=333.999.0.0 0x02 HTTPS安全加固指南 描述: …

    技术杂谈 2023年5月30日
    0101
  • Python-装饰器的入门讲解

    小白在学习装饰器时,会遇到一些地方不太理解或者不太清楚,这是因为一开始你就直接撸装饰器的缘故,那么怎样才能将装饰器理解并且弄懂呢?所以在学装饰器之前必须要弄懂函数的嵌套以及闭包,接…

    技术杂谈 2023年7月25日
    086
  • 面向对象与函数式编程

    面向对象是对内聚状态的封装; 函数式编程是对通用运算符的封装与在运算符基础上的计算构建。 函数式编程 = 构造运算符 + 链接运算符。 函数式编程根本上是抽象运算符与对运算符的解释…

    技术杂谈 2023年5月31日
    085
  • Array.prototype.reduce()

    Array.prototype.reduce() reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计…

    技术杂谈 2023年6月1日
    098
  • Deepin 15.4 更改为 阿里云源

    自带的 软件包源 不好用,卡顿严重,准备替换它: 方式三:替换为 “中国科学技术大学”源 cnblogs_Highlighterbash; sudo vim…

    技术杂谈 2023年5月30日
    076
  • 关于 CLASSPATH 和 -classpath 和 -cp

    1. 作用 作用: 指定 java-解释器、javac-编译器 查找 .class或.java 文件的位置(可以是 目录、jar、zip)    多个目录时,用 : 分割 2. 区…

    技术杂谈 2023年7月11日
    073
  • electron-vue 环境搭建、创建项目

    npm install -g vue-cli vue init simulatedgreg/electron-vue my-project cd my-project yarn #…

    技术杂谈 2023年5月31日
    0102
  • manim 3.0优化

    1、注意不要在物体变换之后再添加其他相关物体,这样物体的初始化会在动画部分的后面 2、动画实现过程最主要还是物体的初始化,所以可以将动画部分和查看物体初始化部分分开(即将动画部分放…

    技术杂谈 2023年7月24日
    080
  • Linux性能监控(二)-top

    top命令可以用来监控服务器CPU、内存的运行情况,是Linux一个经常使用到的命令。 基本用法 第一行显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,…

    技术杂谈 2023年7月11日
    095
  • laravel自定义中间件实例

    一、总结 二、laravel自定义中间件实例 legend3/app/Http/Middleware/Home/UploadLessonMiddleware.php legend3…

    技术杂谈 2023年5月30日
    082
  • IntelliJ隐藏特定后缀文件

    preference- Original: https://www.cnblogs.com/pengyingh/p/10521234.htmlAuthor: pengyinghTi…

    技术杂谈 2023年5月30日
    0106
  • 关于工资倒挂

    工资倒挂是指「新员工能力不如老员工,工资却高过老员工」。 如果你是上述老员工 你会觉得不爽,因为不公平。但在多数情况下,其实这件事并不坏: 你打算离职 从新员工工资来看, 你的市场…

    技术杂谈 2023年7月11日
    082
  • 老生常谈系列之Aop–Aop的经典应用之Spring的事务实现分析(一)

    老生常谈系列之Aop–Aop的经典应用之Spring的事务实现分析(一) 前言 前面的系列文章已经大概讲解了Spring Aop的实现,从AspectJ开始,到Spri…

    技术杂谈 2023年7月25日
    078
  • 什么叫时域和频域?

    1、 时域(时间域)——自变量是时间,即横轴是时间,纵轴是信号的变化。其动态信号x(t)是描述信号在不同时刻取值的函数。 2、 频域(频率域)——自变量是频率,即横轴是频率,纵轴是…

    技术杂谈 2023年5月31日
    092
  • 圆方图(铁人两项)

    #include using namespace std; const int MM=400005; int dfn[MM],low[MM],dfc,cnt,in[MM],tot,…

    技术杂谈 2023年6月21日
    085
  • 注意事项_代码的一些些规范

    零零散散也正式以打代码为生快一年半了,从代码写的稀碎到稍微能总结出一点东西,也算是一个一直在向上缓慢行走的状态了 很难说我喜欢代码这件事,原本选择也只是为了糊口,但从面向百度编程,…

    技术杂谈 2023年7月25日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球