0

当我运行以下代码时,子脚本不再执行。主脚本和其他子脚本变成 .exe 后如何使它们工作?

我使用创建了一个主 PysimpleGUI脚本,当我使用脚本形式保存所有内容时它可以工作subprocess

这个主脚本在作为 .py 形式时工作,但在我变成 .exe 时不能使用pyinstaller

import PySimpleGUI as sg
import subprocess
def A():
    path = 'C:/python_work/'
    os.chdir(path)
    subprocess.call(['python', 'scripta.py'])

    sg.PopupOK('All Done!')
def B():
    path = 'C:/python_work/'
    os.chdir(path)
    subprocess.call(['python', 'scriptb.py'])
    sg.PopupOK('Done')
func_dict = {'A':1, 'B':2}    

我尝试了一种import scriptA方法,但每次它只是运行脚本而不是等待 GUI 提示。

作为说明,我尝试进入子脚本并利用:

    print('hello world')
if __name__ == "__main__":  

这个方法没用,脚本300行不喜欢放到def

4

1 回答 1

0

在 pyinstaller 到 .exe 文件之后,内部权限和操作系统文件路径似乎存在问题。

我们通过从内部工具关闭的 .bat 文件自动启动脚本来解决这个问题。这需要将所有导入保存在安装的 zip 文件夹中。

不是一个理想的解决方案,但它确实有效。

于 2019-09-13T13:57:12.317 回答