pyinstaller打包,imageio库读取图片导致新DOS窗口弹出,ffmpeg-win32-X.exe

用pyinstaller打包已经设置了"-w"参数,即没有命令窗口模式,但是运行程序在打开图片时仍然弹出DOS窗口。

原因是imageio库的ffmpeg.py文件中引用了subprocess库, 

self._proc = sp.Popen(cmd, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE),

函数Popen输入参数creationflags默认为0,,但0不代表“无窗口模式”,通过查找API:

“https://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx”,

找到无窗口模式为“CREATE_NO_WINDOW(0x08000000)”,通过修改源代码实现不弹出窗口,修改代码前最好备份一下,

self._proc = sp.Popen(cmd, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE, creationflags = int('0x08000000', 16))

注意ffmpeg.py中的函数_initialize和_reinitialize均用到该语句,均需修改。

重新打包,问题解决。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值