带GUI的我没有试过,先说说console控制台程序。
如果没有使用os.system()函数,可以用下面的格式来打包,运行时不会有控制台窗口
pyinstaller -F -w sample.py
如果使用了os.system()函数,怎么弄,都会有控制台一闪而过的情况,解决办法就是用其他函数来代替,比如用subprocess模块。
os.system()一般用来执行系统命令,如执行常用的dir ping ,这次我使用的是attrib,用来改变文件属性。
subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误,以及获得它们的返回值。
它用来代替多个旧模块和函数:
os.system
os.spawn*
os.popen*
popen2.*
commands.*
p = subprocess.Popen("dir d:\aaa\",shell=True)
p.wait()
ps. 测试使用的是pthon3.5 pyinstaller 3.2