如何使用cxFreeze将大型Python项目打包成单个exe(目录未找到错误)

问题描述 投票:0回答:1

我现在正在使用 customtkinter 和 opencv 开发一个 Python 项目。这个项目包含多个目录,里面有python文件,都在src目录下。还有一个Data目录和Resources目录,分别存储当前的数据和应用程序所需的资源。为了使该项目更易于最终用户分发和使用,我尝试使用 cxFreeze 将整个项目冻结为一个可由用户简单运行的 exe。这是我的项目结构:

这就是我的 setup.py 文件中的内容:

from cx_Freeze import setup,Executable

include_files = ['QRCodeAttendanceV2', 'src']

options = {
    'build.exe': {
        'include_files':include_files
    }
}

setup(
    name="QR Attendance",
    version=0.1,
    description="A QR-based attendance system utilizing JSON data storage (local)",
    executables=[Executable("main.py",base="Win32GUI")],
    options=options
)

但是,当我运行

python setup.py build
生成的 exe 文件时,出现此错误:

该项目还有一个虚拟环境,已安装所有必要的依赖项

最初,我尝试上网寻找此问题的潜在解决方案,我发现

include_files
选项经常用于包含目录,因此我将该选项添加到我的 setup.py 文件中,如上面所示,但我仍然得到完全相同的错误。我还尝试从根目录(QRCodeAttendanceV2)运行构建命令,但这不起作用,因为根目录中没有 main.py 。将所有这些文件包含到 cxFreeze 构建中的最佳方法是什么?

python tkinter installation project cx-freeze
1个回答
0
投票

经过一些实验,这个问题的解决方案很简单,将 setup.py 文件移到 src 目录之外。一旦完成,exe 文件就可以正常运行,程序也可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.