技术标签: pyinstaller python RecursionError
命令样式:
pyinstaller -w -i “d:\my.ico” -F mypy.py
递归超过了python的栈高度限制
File "F:\Program_File\anaconda3\lib\ast.py", line 263, in generic_visit
self.visit(value)
File "F:\Program_File\anaconda3\lib\ast.py", line 253, in visit
return visitor(node)
RecursionError: maximum recursion depth exceeded
Mustafa did guide me to the right direction, you have to increase the recursion limit. But the code has to be put to the beginning of the spec file and not in your python code:
import sys
sys.setrecursionlimit(5000)
Create the spec file with pyi-makespec first, edit it and then build by passing the spec file to the pyinstaller command. See the pyinstaller manual for more information about using spec files.
Please make sure to use pyinstaller 3.2.0, with 3.2.1 you will get ImportError: cannot import name ‘is_module_satisfies’ (see the issue on GitHub)
在此总结下解决步骤:
1)pyinstaller -F xxx.py
这一步肯定会报上述错误导致失败,但是会产生一个xxx.spec文件
2)在xxx.spec文件中增加两行(添加在原文件第二行):
import sys
sys.setrecursionlimit(5000)
再执行 pyinstaller xxx.spec 打包成功。
Exception:
Cannot find existing PyQt5 plugin directories
Paths checked: C:/qt64/qt_1544645195969/_h_env/Library/plugins
网友方案
I solved it by copying the pyqt5qmlplugin.dll to the path mentioned above C:/qt64/qt_1544645195969/_h_env/Library/plugins. Finally I got the .exe
意思就是:
----------------------------------------
'utf-8' codec can't decode byte 0xce in position 123: invalid continuation byte
These are the bytes around the offending byte:
思路:编码格式问题(可直接解决问题)
如果还不行:
尝试将中文解释都去掉
This application failed to start because it could not find or load the Qt platform plugin “windows”.
吧这个文件夹,拷贝到执行程序同目录即可:
如果是anaconda环境,
c:\Program_File\anaconda3\Library\plugins\platforms
如果是python 环境:
C:\Python33\Lib\site-packages\PyQt5\plugins\platforms
这个问题纠结了我两天,最终解决了
(venv) D:\pyvenv_a\venv>pyinstaller -F pyexcel\RWExcel.py pyexcel\operfile.py
......
1135 INFO: Bootloader d:\pyvenv_a\venv\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
21135 INFO: checking EXE
21139 INFO: Building because toc changed
21140 INFO: Building EXE from EXE-00.toc
21141 INFO: Appending archive to EXE D:\pyvenv_a\venv\dist\RWExcel.exe
21169 INFO: Building EXE from EXE-00.toc completed successfully.
已经很小了,40M左右,(本身里边包含python解析器信息,基本都会大于10M)
2020年初,由于疫情影响,个人、组织、企业都遭受了不小的阻碍与挑战。不过老话说得好,危机背后则是新的机遇,相信在此次疫情之后, 我们一定能重振旗鼓,迎来新发展。一个多月前,当我敲下2019年品牌营销行业关键词为【太难】的时候,哪能想到,跨入2020年,“新型冠状病毒”疫情这只黑天鹅让行业的【难】成了全中国甚至全世界的【难】。而“黑天鹅事件”之后,紧跟着的是“蝴蝶效应”。整个春节我们看...
型号:VK3604/VK3604A品牌:VINKA/永嘉微电封装:SOP16年份:新年份概述:VK3604/VK3604A具有4个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较高的 集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了4路输出功能,可通过IO脚选择输出电平,输出模式,输出脚结构,单键/多键和最 长输出时间。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可减少按键检测错误的 发生,此特性保证在不利环境条件的应用中芯片仍具有很高的可靠性。 此触摸芯片具
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>左侧点击后右侧添加tab标签栏以及内容</title><script type="text/javascript" src="http://files.cnblogs.com/fil...
bootstrap的JavaScript插件中提供了几种形式的提示框。其中就有警告框、工具提示框、弹出框和模态框。下面就来一个一个的看看它们是怎样使用的吧!警告框 它就是这个样子的,点击右侧的小叉子可以将它隐藏。如果不想要淡淡消失的效果可以将 .fade.in 类去掉,和bootstrap其他组件改变颜色的方式一样(只需将类 .alert-info改为 .alert-danger / .alert
前言提示:声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦。官方文档:MonoBehaviour...
Ruby是起源于日本的编程语言。近年来,特别是因为在Web开发方面的效率很高,Ruby引起了全世界的关注,它的应用范围也扩展到了很多企业领域。 作为一门编程语言,Ruby正在被越来越多的人所了解,而作为一介工程师的我,松本行弘,刚开始的时候并没有想过“让全世界的人都来用它”或者“这下子可以大赚一笔了”,一个仅仅是从兴趣开始的项目却在不知不觉中发展成了如今的样子。 当然了,作为一种兴趣,
1.题目LeetCode: 1. 两数之和【easy】给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [
JavaScript对象创建模式Object构造函数模式用法:先创建空Object对象,再动态添加属性/方法 适用场景:起使时不确定对象内部数据 问题:语句太多 代码解析: var p = new Object() p = {} p.name = 'Tom' p.age = 12 p.setName = function (name) { this.na...
Flink DataStream触发器Trigger决定了何时触发WindowFunction计算。本文总结Flink内置触发器并梳理Trigger API。八大内置触发器EventTimeTriggerEventTime Window的默认触发器。基于事件时间,当Watermark>=Window End Time时,触发窗口计算。ContinuousEventTimeTr...
第五章 项目范围管理项目范围管理包括的程序,要求能确保该项目所覆盖的整体工作要求和单项工作要求,从而促使项目工作成功地完成。它首先涉及到界定和控制项目包括的内容。图表5-1提供了主要项目范围管理程序的总述:5.1启动阶段--督促...
1. 查询是否默认安装有JDK[[email protected] bin]# java -versionjava version "1.6.0_22"OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b11, mixe
原文地址:http://www.cnblogs.com/kekec/p/3662125.htmlwindows常用命令打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口...也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令注:/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口# 控制台命令窗口中一些技巧复制内容:右键...