完美解决PYINSTALLER因为-W打包的EXE文件与OS.POPEN和SUBPROCESS.POPEN都执行失败的问题
PYINSTALLER打包遇到PY文件中有OS.POPEN()命令,OS.POPEN执行失败的问题
参考了文章:https://blog.csdn.net/qq_26373925/article/details/105521118
这篇文章里面讲解了使用subprocess.Popen代替os.popen解决冲突问题
proc = subprocess.Popen(‘cmd命令’, shell=True,
stdout=subprocess.PIPE, # 管道标准输入
stderr=subprocess.STDOUT, # 管道标准输出
stdin=subprocess.PIPE) # 管道错误输出
1
2
3
4
Ok,当我查阅了很多资料之后,看到这篇文章,卧槽,牛逼,问题解决了,使用pyinstaller -F打包文件之后,打开exe文件subprocess.Popen里面的cmd命令能执行了
???问题以为到这里就完事了?写个exe文件总不能只给自己用吧,当我把文件给到别人的电脑上运行的时候,???问题重现了,subprocess.Popen不好使了
PYINSTALLER打包遇到PY文件中有SUBPROCESS.POPEN命令,执行CMD也失败了
现在的情况是:
os.popen()的py文件打包成exe,自己的电脑cmd命令不执行,os.popen执行失败
含有subprocess.Popen的py文件打包成exe,自己电脑能成功运行cmd命令,别人电脑就执行失败了
???问题到这里头大了,看到有的文章说找os.system()来执行cmd命令,Ok,好使是好使,但是pyinstaller的-w命令去除不了os.system()弹出的黑框,黑框???这我怎么能忍受呢
问题得到解决,原来是使用pyinstaller的-F命令搞得鬼,
-F:打包成单一执行文件
改成:
-D:打包成一系列以来文件的exe文件

本文详细介绍了在使用PYINSTALLER打包Python程序时,遇到OS.POPEN和SUBPROCESS.Popen执行失败的问题及解决方案。通过将-F参数改为-D,可以避免命令在其他电脑上执行失败。同时,文章探讨了-W参数对os.system()的影响,并提供了打包命令示例。
4465

被折叠的 条评论
为什么被折叠?



