坑爹的Pyinstaller

RuntimeError: maximum recursion depth exceeded while calling a Python object

解决方案

pyinstaller *.py,中途停止生成spec文件,在spec文件内加上

import sys
sys.setrecursionlimit(5000)

***********************************************************

运行exe时找不到module,pyinstaller *.py --hidden-import,或者直接在打包后的文件夹中添加库文件。

最保险的做法是把库先加到工程文件夹中,最后加到exe所在文件夹下。

***********************************************************

cannot import name ’*‘

解决方案:将ImageStat.py放入打包后的该文件所在库的文件夹中(例如以上为PIL)。

***********************************************************

qt.qpa.plugin: Could not find the Qt platform plugin "windows" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

从电脑中找到这四样东西拷贝到打包后的文件夹中

 

***********************************************************

运行exe文件时某个包出现不知名问题:

感觉是torchvision出了问题,打包后的库总感觉不太对劲,用原来的torchvision库替换下就解决啦。

***********************************************************

如何在exe文件中解决下列图片显示问题,花了三天,差点要放弃的时候在国外网站的小角落里翻到了解决方案,泪流满面,下班回去奖励自己不烧饭了!!

1.首先将所需图片写入.qrc文件,再把.qrc转为.py,相当于把图片都存储到了py文件中,不需要再把原图拷贝到打包文件夹中。万能的网友们早已写好了脚本!

import subprocess, os

#图片所在文件夹
images = os.listdir('./images') 
#不太清楚,可以删除
qss = os.listdir('C:\qss')
#生成qrc资源文件
f = open('images.qrc', 'w+')
f.write(u'<!DOCTYPE RCC>\n<RCC version="1.0">\n<qresource>\n')

for item in images:
    f.write(u'<file alias="images/'+ item +'">images/'+ item +'</file>\n')

for item in qss:
    f.write(u'<file alias="qss/'+ item +'">qss/'+ item +'</file>\n')

f.write(u'</qresource>\n</RCC>')
f.close()

#qrc转为py文件
pipe = subprocess.Popen(r'pyrcc5 -o images.py images.qrc', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.PIPE, creationflags=0x08)

2.最后在程序中导入py文件,注意前面的:。

import images

icon.addPixmap(QtGui.QPixmap(':/images/logo.jpg'), QtGui.QIcon.Normal, QtGui.QIcon.Off)

3.最重要的一步来啦!把pyqt5文件夹下的plugins/imageformats拷贝到打包后的exe所在的文件夹下,因为需要提供对JPG格式的支持。

QPixmap::scaled: Pixmap is a null pixmap

***********************************************************

最后再记录一下打包过程,避免遗忘:

1.安装pyinstaller

2.pyinstaller 主程序.py

3.打包完成后到exe所在文件夹下在powershell中运行exe文件。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值