ModuleNotFoundError:没有名为“sklearn.ensemble._forest”的模块

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

我使用 Sklearn 1.0.2 和 python 3.7.3 创建了 RandomForestRegressor 模型,并将其保存在 pickle 文件中。我将此文件下载到我的主脚本中,如下所示:

your text
rfr_model = pickle.load(open(os.getcwd() + '\solar_rfr_102.pickle', 'rb'))"
your text

我的 venv 还包含 Sklearn 1.0.2 和 python 3.7.3,并且该程序在从 PyCharm 运行时运行良好。但是当我使用 pyinstaller 制作 exe 文件并运行它时,出现错误: 回溯(最近一次调用最后一次):

your text
文件“main.py”,第 158 行,位于
your text
文件“main.py”,第 143 行,在 main
your text
ModuleNotFoundError:没有名为“sklearn.ensemble._forest”的模块
your text

第 143 行是:

your text
rfr_model = pickle.load(open(os.getcwd() + '\solar_rfr_102.pickle', 'rb'))
your text

谁能告诉我在哪里可以找到问题吗?

我尝试按照此处给出的建议解决此问题https://stackoverflow.com/questions/65758102/no-module-name-sklearn-ensemble-forest但没有任何帮助。问题是我的代码运行良好并在 pycharm 中下载 pickle 文件,但在制作 EXE 后它会下降。

scikit-learn pyinstaller exe pickle random-forest
1个回答
0
投票

我在 pyinstaller 命令中添加了 --hidden-import="sklearn.ensemble._forest" 并且它可以工作

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