英文:
Can't use --noconsole of Pyinstaller without crash
问题
I have a little problem. When I run my python code, everything works, and with pyinstaller when I compile it with the console. But when I compile it without console with pyinstaller, it crashes. Do you have an idea ?
我的程序有一个小问题。当我在运行我的Python代码时,一切正常,并且在使用pyinstaller编译时带有控制台也正常。但是当我使用pyinstaller编译时不带控制台,它会崩溃。你有任何想法吗?
My program uses the yt_dlp and pyqt5 libraries. It's a graphical interface that allows to download all kind of videos.
我的程序使用了yt_dlp和pyqt5库。这是一个图形界面,允许下载各种类型的视频。
My repo : https://github.com/Blackfireoff/VOD_Downloader
我的代码库:https://github.com/Blackfireoff/VOD_Downloader
I tried to remove all prints and set the output of yt_dlp to "quiet" so that there are no logs in the console, but this did not change anything.
我尝试删除所有打印并将yt_dlp的输出设置为“quiet”,以便控制台中没有日志,但这没有改变任何情况。
英文:
I have a little problem. When I run my python code, everything works, and with pyinstaller when I compile it with the console. But when I compile it without console with pyinstaller, it crashes. Do you have an idea ?
My program uses the yt_dlp and pyqt5 libraries. It's a graphical interface that allows to download all kind of videos.
My repo : https://github.com/Blackfireoff/VOD_Downloader
I tried to remove all prints and set the output of yt_dlp to "quiet" so that there are no logs in the console, but this did not change anything.
答案1
得分: 0
在开始 QApplication 之前,请添加以下代码以修复它:
# 添加这段代码
import sys
import io
if sys.stderr is None:
stream = io.StringIO()
sys.stdout = stream
sys.stderr = stream
app = QApplication(argv, APP_NAME)
我之前曾经遇到过这个 bug。在我进入出现 bug 的代码后,我发现这个 bug 是因为 sys.stderr 为 None 导致的。因此,它会引发 NoneTypeException(我不记得这个异常叫什么了)。
英文:
Add this code before you start QApplication to fix it:
# Add this
if sys.stderr is None:
stream = io.StringIO()
sys.stdout = stream
sys.stderr = stream
app = QApplication(argv, APP_NAME)
I struggled with this bug before. After I go into the code where the bug happened, I found out that this bug caused because sys.stderr is None. Therefore, it will throw NoneTypeException (I don't remember what is this exception called).
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论