python导出可执行文件
- 安装
pip install pyinstaller
conda安装也可以 - 简介
这个插件可以生成.exe 文件也可以生成mac x86/arm64的可执行文件;这个生成取决于生成的时候在哪个系统 - 使用
终端中
pyinstaller --onefile --windowed --add-data “draw_image.ui:.” plot.py
–onefile指的是尽可能集中在一个文件中
–windowed 指的是这个是包含GUI的
–add-data 指包含一些必要外部文件 这里是draw_image.ui
ploy.py指需要导出的python文件
导出后可以发现多了一个dist文件夹,里面就是生成的可执行文件
- 报错找不到某文件的解决方案
- 在python文件中加入动态引入
import sys
ui_file = 'draw_image.ui'
if getattr(sys, 'frozen', False): # 判断是否是打包后的应用 frozen即打包
#最后一个参数 False 是 getattr 函数的 默认值,当 sys 模块中没有 frozen 属性时,返回默认值 False。
ui_file = sys._MEIPASS + '/' + ui_file
#在没有打包的情况下,sys._MEIPASS 不会存在
self.ui = uic.loadUi(ui_file)
- Windows系统可以更简单的解决
引入时路径设置为当前路径./
pyinstaller --onefile --windowed plot.py
这个命令导出后,将.ui文件放入生成可执行程序的同目录下