将主脚本和子脚本转换为可执行文件

Turning master script and child script into executable

当我运行下面的代码时,子脚本不再执行。主脚本和其他子脚本在转换为 .exe 后如何工作?

我已经使用 PysimpleGUI 创建了一个 masterscript,当我使用 subprocess

将所有内容保存为脚本形式时它就可以工作

这个 Master 脚本以 .py 形式工作,但当我使用 pyinstaller

转换为 .exe 时就不行了
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

似乎内部权限和 OS 文件路径在 pyinstaller 到 .exe 文件后工作存在问题。

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

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