从 PyInstaller 包访问 Python 解释器

2023-12-28

我有一个生成 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 解释器作为一个简单文件添加到捆绑包中。但这是多余的,因为我知道解释器是嵌入的。有什么Python式的方法可以做到这一点吗?

任何帮助,将不胜感激


尝试这个:

exec(open('external_script.py').read())

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 PyInstaller 包访问 Python 解释器 的相关文章

随机推荐