从 PyInstaller 包访问 Python 解释器

Vid*_*sun 7 python packaging twisted pyinstaller

我有一个生成 Pronsole.py(3D 打印)的程序(假设它称为“PROG”)。如果它只是由 Python 解释,它在 GNU/Linux 和 Windows 中运行良好。这是有效的行:

self.pronTranspProc=reactor.spawnProcess(self.pronProtProc, pythonPath, [pythonPath, "pronsole.py"], os.environ, self.pronPathPrintrun)
Run Code Online (Sandbox Code Playgroud)

当 Python 是普通解释器时,“pythonPath”将只是该解释器的路径,因为它是 sys.executable。但是当使用 Pyinstaller 制作捆绑包因此应用程序被冻结时,sys.executable 不是解释器,而是由 pyinstaller 生成的可执行文件(在本例中,它将是 PROG.EXE 而不是 Python.exe)。该可执行文件嵌入了 python 解释器。问题是,如果我像 Python 解释器一样调用可执行文件,那么程序 PROG 再次打开,这是逻辑,并且不会与打印机进行通信。

有没有办法调用嵌入式Python解释器?

到目前为止,我所达到的解决方案是将 Python 解释器作为一个简单的文件添加到包中。但这是多余的,因为我知道解释器是嵌入的。这样做的任何pythonic方式?

任何帮助,将不胜感激

hpc*_*a01 -1

尝试这个:

exec(open('external_script.py').read())
Run Code Online (Sandbox Code Playgroud)

解释器只能由冻结脚本引用,但是您可以使用读取函数来执行其他脚本的主块。希望有帮助!