我正在尝试为我的Python脚本制作一个.exe文件
main_program.py
。该脚本在虚拟环境中运行。当我制作 main_program.exe
时,我会在激活 venv
的情况下进行操作。我的文件夹结构如下:
-Include
-Lib
-Scripts
-main_program.py
-accessory_script.py
accessory_script.py
包含我在 main_program.py
中导入的函数。然而,即使 PyInstaller 生成了一个主要功能为 main_program.exe
的文件,当我运行上述可执行文件时,我得到了一个 [Errno 2]: No such file or directory: path\\to\\appdata\\local\\temp\\MEI9882\\accessory_script.pyc
。
当我运行
pyinstaller main_program.py
单独生成 dist
文件夹时,我在文件夹中看不到 accessory_script.pyc
。我的问题是,我需要做什么才能确保 accessory_script.py
合并到我的主程序的可执行文件中?
我发现 Python 已将附件脚本正确合并到我的 EXE 中。附件脚本中的大多数函数都被我的主程序正确调用。但是,其中一个函数(导致 FileNotFound 错误的函数)具有来自
reloading
模块的 @reloading 装饰器。 该模块读取程序的源代码,而不会丢失程序的状态。因为我是通过 EXE 运行代码,所以没有可供搜索的源代码。一旦我删除了这个导入和相关的装饰器,我的程序就再次运行了。