如何在不使用导入的情况下使.py文件具有相关性



我想为我的项目制作一个包含4.py文件的.exe文件,但当我使用时

pyinstaller --onefile main.py

命令,并尝试运行可执行文件,主文件运行得很好,但一旦我尝试调用打开另一个文件的函数,程序就会自动关闭。

在pycharm中,整个应用程序运行良好。我使用subprocess.Popen打开这3个其他文件。我注意到,将这些文件导入main.py可以使脚本工作,但只有一次,因为其他三个文件不仅包含函数,而且只包含只能在导入时运行的纯代码,所以只能运行一次。重写这些文件以只包含函数是不可能的,因为这会花费太多时间。那么,我如何将这4个文件编译成一个可执行文件,使其像在pycharm中一样工作呢?

Pyinstaller递归地将入口模块中的模块捆绑在一起,所以如果main.py没有引用其他3个模块,它们就不会被捆绑在一起。您需要对其他模块使用隐藏导入。

最新更新