1.根据自己的系统和python版本下载安装,我用的是:
PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe
python-3.5.4.exe
pycharm装的是破解版
以上按次序依次安装,都按照默认路径安装即可。
2.打开pycharm
2.因为我用来写了一个串口工具,所以代码很多,就不贴了,外加一个用pyqt 画的一个界面
打开pyqt --> designer..拖拽方式生成一个界面
保存到刚才新建的python工程目录下,和 xxx.py一个目录。文件后缀位xxx.ui
3.在pycharm 会自动把ui文件加入到工程中。
4.写py代码
import sys import time import serial import serial.tools.list_ports import threading from ctypes import * from PyQt5 import QtGui,QtCore,uic,QtWidgets import crc import os #import six # Define function to import external files when using PyInstaller. def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path) qtCreatorFile = ".\mainWind.ui" # Enter file here. Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
5.设置解析器。
4。到这里,你应该可以正常运行了。如果还有问题,那就是记得给PyQt加环境变量,在PATH中。
我的是:
C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\PyQt5;
C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\PyQt5\plugins;
C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32
5.下面难点来了,如何用Pyinstaller 打包成exe ,到别人的电脑也可以直接运行。
pyinstaller 有两种安装,一种是Pycharm 上面提到的绿色 “+”号里面添加,这个最简单,还有用pip.安装或者自己去下载安装,记得下载最新的,要支持python 3.x以上
我是用pycharm安装的,非常省心。
6.运行CMD命令,
最后会有一个dist目录,下面有一个xxx.exe文件,你直接运行,发现
这是因为刚才QT画的 ui文件没有包进来,所以,可以把刚才的xxx.ui文件复制到和exe同一个目录下。
然后双击可以运行了。
6.可以拷贝这两个文件到别人的电脑运行了。。。
但是有可能还有一个问题。
This application failed to start because it could not find or load the Qt platfo rm plugin "windows" in "". Reinstalling the application may fix this problem
这个问题我找了很久,终于发现了解决办法,那就是拷贝你开发软件电脑,安装的pyqt目录下的platform文件夹拷贝到和exe同一个目录,即可。
4.然后就可以看到漂亮的界面了。第一次运行出来的时间有点慢,慢慢等就出来了。。。。。
到此这篇关于PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)的文章就介绍到这了,更多相关PyQt5.6 pycharm pyinstaller生成exe内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
- Author -
raominping声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@