有没有一种方法可以使可执行文件运行一个运行了不同python文件的python文件?

时间:2020-09-16 22:06:30

标签: python exe pyinstaller

我有一个正在开发的大型python项目,我想制作一个.exe文件来启动main.py文件。我有一个名为Ultimate_launcher.py的文件,其中包含以下代码:

exec(open("main.py").read())

这是我在Stack Overflow上找到的一种解决方案。它可以作为.py文件正常运行,但是当我使用pyinstaller将其转换为.exe时,它出现了“致命”错误,

Failed to execute script ultimate_launcher

由于我仍在开发过程中,我不希望将项目的其余部分放入.exe。 所以我的问题是如何制作仅引用文件main.py的.exe,以便在更新文件时不必重新制作.exe文件。

py

1 个答案:

答案 0 :(得分:1)

我相信在此线程中有一种实现此目的的方法:

Python - create an EXE that runs code as written, not as it was when compiled

编辑: 可行

import subprocess
f = open("c:\\temp\\temp.py", "w")
f.write(open("main.py").read())
f.close()
subprocess.call("\"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\Scripts\\pyinstaller.exe\" --distpath \"c:\\temp\" c:\\temp\\temp.py " )
subprocess.call("C:\\temp\\temp\\temp.exe")