【发布时间】:2017-11-14 11:24:21
【问题描述】:
我有一个生成 Pronsole.py(3D 打印)的程序(假设它被称为“PROG”)。如果它只是由 Python 解释,它在 GNU/Linux 和 Windows 中运行良好。 这是行之有效的方法:
self.pronTranspProc=reactor.spawnProcess(self.pronProtProc, pythonPath, [pythonPath, "pronsole.py"], os.environ, self.pronPathPrintrun)
当 Python 是普通解释器时,“pythonPath”将只是该解释器的路径,因为它是 sys.executable。但是当使用 Pyinstaller 制作捆绑软件时,应用程序被冻结,sys.executable 不是解释器,而是由 pyinstaller 生成的可执行文件(在本例中,它将是 PROG.EXE 而不是 Python.exe)。该可执行文件嵌入了 python 解释器。问题是,如果我像 Python 解释器一样调用可执行文件,那么程序 PROG 会再次打开,这是逻辑,并且不会与打印机进行通信。
有没有办法调用嵌入式 Python 解释器?
到目前为止,我所达到的解决方案是将 Python 解释器作为一个简单文件添加到包中。但这是多余的,因为我知道解释器是嵌入的。有什么pythonic方法吗?
任何帮助将不胜感激
【问题讨论】:
-
嘿@Vidusun,我也有类似的问题,你能解决你的问题吗?怎么样?
标签: python twisted pyinstaller packaging