py文件转换为exe文件期间无法调用sklearn

时间:2020-10-05 06:34:25

标签: python scikit-learn pyinstaller

forest = RandomForestRegressor(n_estimators=1000,
                               criterion='mse')
forest.fit(X_train, y_train)

上面存储的森林模型

import joblib 
file_name = 'mormalize.pkl' 
joblib.dump(forest, file_name) 

我使用上面的代码保存了它。

我要提出这个。

model_name = 'C:\\myenv\\object_01.pkl'
forest=joblib.load(model_name)
y_pred = forest.predict(df)

用作。 在使用phystaller将此文件制作为exe文件的过程中,

enter image description here

如上图所示,导入未使用文件(在模型中使用)的问题仍然存在。 使用隐藏导入显示结果 加载三个sklear模块时,exe文件的容量超过3GB。 仍在请求导入。

在其他问题中回答的规范中添加隐藏导入的提示不起作用。

如何制作exe文件? 另外,如果这是pyintaller的限制,您可以推荐另一个模块吗?

1 个答案:

答案 0 :(得分:0)

其中之一的输出

pyinstaller file.py 

是file.spec。 为了解决这个问题,我所做的实际上是编辑规范文件,并在顶部添加了以下内容:

from PyInstaller.utils.hooks import collect_submodules

在分析中,我添加了以下行:

hiddenimports=collect_submodules('sklearn'),

之后,您应该在命令行中运行以下命令:

pyinstaller file.spec

我希望这很清楚。