我如何使用pyinstaller Subprocess.popen()?

时间:2016-08-15 16:51:22

标签: python python-2.7 subprocess exe pyinstaller

我有一堆代码,其中一行是(在abc.py中):

meow = subprocess.Popen("python ./Functions/cat.py")

现在我使用pyinstaller.exe --onefile .\abc.py

它使我成为一个单独的exe,它实现了所有的功能,但包含上面一行的功能不起作用。

如何在exe中包含cat.py并将其与subprocess.popen一起使用?

我的文件夹视图是

    -Project x
             -abc.py
             -Functions
                      -cat.py
                      -me.py
                      -ow.py

Cat.py有一个侦听输入并永远运行的功能,直到我必须根据某些输入停止它。

我正在运行abc.py并根据某些输入我必须运行cat.py和abc.py以及另一个输入我必须停止cat.py(使用.kill())和abc.py将还在跑步。

如何使用pyinstaller在单个exe中实现它?

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决此问题。我相信,如果您使用import语句调用cat.py,它将打包就好了。另一个选择是创建一个.spec文件, 然后将cat.py打包为数据文件(or the entire function folder using the Tree class)。如果将其打包为数据文件,请签出this post for coding to call it while developing as well as once its packaged by --onefile.