首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用pyinstaller导出python程序时,如何正确排除故障?

使用pyinstaller导出python程序时,如何正确排除故障?
EN

Stack Overflow用户
提问于 2019-05-19 13:59:14
回答 1查看 65关注 0票数 0

我最近创建了一个Python程序,并设法使用PyInstaller将其打包到一个可执行文件中。

问题是它生成的exe生成了一个窗口,它消失得如此之快,以至于我无法读取其中的内容。

我找不到办法让那扇窗开着:

-c-w PyIinstaller命令不起作用,--debug all也不起作用:窗口仍然出现,在其中生成超快的终端文本,然后自动关闭,没有给我足够的时间来阅读它遇到的问题。

有没有一种方法可以让PyInstaller exes生成一个日志文件,记录我运行它们时发生的事情?你有什么其他的建议吗?我可以做些什么来理解我的程序崩溃的原因,或者保持它的窗口打开以便我可以阅读它里面的内容?感谢您的关注:)

EN

回答 1

Stack Overflow用户

发布于 2019-05-21 03:03:57

排除代码故障与Pyinstaller无关。您可以使用python logging并将控制台输出重定向到文本文件。在here中有一个很好的例子。

此外,根据this的说法,如果你在导入模块时遇到问题,需要更多信息,你可以使用详细模式,-v标志来打印更多关于Pyinstaller导入模块状态的信息。

Python您还可以向嵌入式

解释器传递一个-v (详细导入)标志(请参阅上面提供的运行时Python选项)。这可能非常有用。即使应用程序看起来工作正常,它也可以提供信息,以确保它们从捆绑包中获得所有导入,而不是泄漏到本地安装的Python。

对于最后一个问题,如果需要使用JSON字符串,可以在Python中使用字典类型,然后使用json模块(json.dumps)将dict转换为有效的JSON字符串。你可以在here上找到更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56208523

复制
相关文章
pycharm如何使用pyinstaller_python的pyinstaller用法
直入正题之前,我们得先在pycharm上安装好这个插件。 按照下图所示方法打开terminal(这个我感觉相当于你电脑运行cmd),
全栈程序员站长
2022/09/28
1.6K0
pycharm如何使用pyinstaller_python的pyinstaller用法
使用PyInstaller把Python
2、解压即用(V2.1)。注意环境变量,或者用pyinstaller.py的全路径,或者到解压目录下使用。*^_^*
py3study
2020/01/09
2.5K0
如何正确的在 Android 上使用协程 ?
你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 。如今两年时间过去了,站在一名 Android 开发者的角度来看,Kotlin 的生态环境越来越好了,相关的开源项目和学习资料也日渐丰富,身边愿意去使用或者试用 Kotlin 的朋友也变多了。常年混迹掘金的我也能明显感觉到 Kotlin 标签下的文章慢慢变多了(其实仍然少的可怜)。今年的 Google IO 也放出了 Kotlin First 的口号,许多新的 API 和功能特性将优先提供 Kotlin 支持。所以,时至今日,实在找不到安卓开发者不学 Kotlin 的理由了。
路遥TM
2021/08/31
2.8K0
使用 pyinstaller 打包 python 程序
首先需要明确说明的是,版本问题,python2python2python2 与 python3python3python3 都有自己对应的 pyinstallerpyinstallerpyinstaller 版本。
f_zyj
2019/05/27
8620
Python进阶——如何正确使用yield?
在 Python 开发中,yield 关键字的使用其实较为频繁,例如大集合的生成,简化代码结构、协程与并发都会用到它。
_Kaito
2021/03/23
2K0
Pyinstaller使用补充
PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。 python.py生成Mac、Windows下可执
程序员不务正业
2018/06/14
9930
Python使用pyinstaller打包几个小技巧
1、进入命令提示符环境cmd,执行命令pip install pyinstaller安装扩展库pyinstaller。
Python小屋屋主
2018/07/23
2.7K0
Python使用pyinstaller打包几个小技巧
Python 程序编译:Pyinstaller库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 程序编译:Pyinstaller库的使用 ---- Python 程序编译:Pyinstaller库的使用 1.Pyinstaller库简介 2.Pyinstaller库常用命令 3.程序编译实例 4.注意事项 4.1 包文件过大怎么办 4.2 双击运行程序一闪而过怎么办 ---- 1.Pyinst
小嗷犬
2022/11/15
1.7K0
Python 程序编译:Pyinstaller库的使用
如何正确使用log
下面小编就为大家分享一篇使用log_format为Nginx服务器设置更详细的日志格式方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
习惯说一说
2019/07/04
2.3K0
[Java8]如何正确使用Optional
Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅。这篇文章是建立在你对Optional的用法有一定了解的基础上的,如果你还不太了解Optional,可以先去看看相关教程,或者查阅Java文档。
KAAAsS
2022/01/14
7.1K0
python 代码如何打包成.exe文件(Pyinstaller)
python写的代码如何打包成.exe可执行程序,让别人电脑上没安装过 python 的小伙伴也可以直接运行? 本篇讲如何用PyInstaller库一步步打包python代码。
上海-悠悠
2021/06/24
1.6K0
python 代码如何打包成.exe文件(Pyinstaller)
使用PyInstaller打包webssh
接前一篇博客,为了使webssh更容易安装部署,我在想是不是可以把webssh打包成一个独立的可执行文件,这样使用起来不是更方便呢。于是乎我想到了是不是可以使用PyInstaller来打包。
kongxx
2019/02/26
6390
使用pyinstaller将python脚本打包成exe文件
安装需要用到pip工具,该工具在3.5版本的python中已经自带不用另行安装,但是需要在系统变量中添加python下的Scripts文件夹,如下图: 
晓歌
2018/08/15
2K0
使用pyinstaller将python脚本打包成exe文件
Python进阶——如何正确使用魔法方法?(下)
在上一篇文章Python进阶——如何正确使用魔法方法?(上)中,我们主要介绍了关于构造与初始化、类的表示、访问控制这几类的魔法方法,以及它们的使用场景。
_Kaito
2021/03/23
7330
Python进阶——如何正确使用魔法方法?(上)
在做 Python 开发时,我们经常会遇到以双下划线开头和结尾的方法,例如 __init__、__new__、__getattr__、__setitem__ 等等,这些方法我们通常称之为「魔法方法」,而使用这些「魔法方法」,我们可以非常方便地给类添加特殊的功能。
_Kaito
2021/03/23
7210
pyinstaller打包python程序
无标题.png 说明 文档对应内容为 pyinstaller 4.2, 支持 python 3.5+ 如果需要使用python2.7,则需要使用 pyinstaller <= 3.6 安装 从PyPI安装 pip install pyinstaller 升级 pip install --upgrade pyinstaller ---- 使用命令行方式 语法: pyinstaller [选项] 脚本 [脚本...] # 使用命令行方式 常用选项: 生成选项 -D # 生成单个可执行程序 -F #
CODER_D_XF
2021/01/21
1.5K0
pyinstaller打包python程序
python的协程使用
# 9.py #code=utf-8 # python的协程使用 ''' 所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。 Python对协程的支持还非常有限,用在generator中的yield可以一定程度上实现协程。虽然支持不完全,但已经可以发挥相当大的威力了。 Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 由于gevent是基于IO切换的协程,所以最神奇的是,我们编写的Web App代码,不需要引入gevent的包,也不需要改任何代码,仅仅在部署的时候,用一个支持gevent的WSGI服务器,立刻就获得了数倍的性能提升。 ''' import time def consumer(): r = '' while True: n = yield r if not n: return print('[CONSUMER] Consuming %s...' % n) time.sleep(1) r = '200 ok' def produce(c): c.next() n = 0 while n < 5: n = n + 1 print('[PRODUCER] Producing %s...' % n) r = c.send(n) print('[PRODUCER] Consumer return: %s' % r) c.close() c = consumer() produce(c) ''' 上面程序逻辑是: 首先调用c.next()启动生成器; 然后,一旦生产了东西,通过c.send(n)切换到consumer执行; consumer通过yield拿到消息,处理,又通过yield把结果传回; produce拿到consumer处理的结果,继续生产下一条消息; produce决定不生产了,通过c.close()关闭consumer,整个过程结束。 ''' ''' 执行结果是 [PRODUCER] Producing 1... [CONSUMER] Consuming 1... [PRODUCER] Consumer return: 200 ok [PRODUCER] Producing 2... [CONSUMER] Consuming 2... [PRODUCER] Consumer return: 200 ok [PRODUCER] Producing 3... [CONSUMER] Consuming 3... [PRODUCER] Consumer return: 200 ok [PRODUCER] Producing 4... [CONSUMER] Consuming 4... [PRODUCER] Consumer return: 200 ok [PRODUCER] Producing 5... [CONSUMER] Consuming 5... [PRODUCER] Consumer return: 200 ok '''
公众号-利志分享
2022/04/25
2660
Kubernetes 触发 OOMKilled(内存杀手)如何排除故障
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/08/21
1.4K0
Kubernetes 触发 OOMKilled(内存杀手)如何排除故障
点击加载更多

相似问题

如何正确使用Pyinstaller?

20

使用Pyinstaller冻结Python程序时摆脱控制台输出

512

正确使用Icicle协程

11

如何正确安装pyinstaller

112

如何正确执行协程

123
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文