我的程序由pyinstaller打包,在Windows上使用--onefile模式。一个用于主进程,一个用于工具包,我想在运行时更新它们。
我计划更新流程如下:
我认为它应该有用,但程序不会启动另一个。
启动分离过程的代码:
subprocess.Popen(command, stdin=None, stdout=None, stderr=None, close_fds=True,
creationflags=0x00000008)
代码在python脚本启动pyinstaller exe时起作用,并通过pyinstaller exe启动正常的程序,如memcached.exe。似乎只是由pyinstaller打包的程序无法启动另一个程序。
有没有办法解决它或其他更新解决方案
更新: 这是pyinstaller2.0中的一个错误,它已在最新的dev分支中修复。 http://www.pyinstaller.org/ticket/569
答案 0 :(得分:2)
我在使用2.0版创建的两个PyInstaller应用程序时遇到了同样的错误(app1必须运行app2)
我尝试从app1运行os.system,subprocess.call和os.startfile来运行app2,所有这些都失败了,无法获取有关问题的信息。
最后,我使用PyInstaller 1.5.1重建app1并且可以运行app2(使用V 2.0构建)而没有问题。
我想将此错误报告给PyInstaller团队。