首页 > 解决方案 > 使用 cx_freeze 时如何加载泡菜模型?

问题描述

我作为应用程序构建的脚本在尝试加载 pickle 模型数据时停止工作。以下是有问题的代码:

with open('model_pickle','rb') as f:
    mp = pickle.load(f)

这是我正在使用的设置文件:

setup(
    name="Test",
    version="1.0",
    options={"build_exe":{"include_files":["model_pickle"]}},
    executables=[target]
)

该程序在执行 python 脚本时可以正常工作。但是,通过 将其转换为可执行文件后cx_freeze,问题在于打开泡菜模型数据文件。我已经在有数据和没有数据的情况下对此进行了测试,所以我很确定这是问题所在。

标签: pythonserializationpicklesetuptoolscx-freeze

解决方案


您是否使用 IDLE 测试过您的程序?也许存在pickle解码错误...如果没有,请尝试使用此代码创建您的 exe。它会导入您计算机上的所有库。它更长,但更容易:只需运行一个文件。


无论如何,更好的用户PyInstaller(也是 PyPI 上可用的一个模块) -相关堆栈溢出答案


推荐阅读