我使用 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 行,在 mainyour 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 后它会下降。
我在 pyinstaller 命令中添加了 --hidden-import="sklearn.ensemble._forest" 并且它可以工作