gpt4 book ai didi

python - Pyinstaller 和 sklearn.ensemble : 'ModuleNotFoundError: No module named ' sklearn.neighbors.quad_tree'[2760]'

转载 作者:行者123 更新时间:2023-11-30 22:17:42 31 4
gpt4 key购买 nike

我在 PyQt5 中编写了一个 GUI,其中包括以下行 from sklearn.ensemble import RandomForestClassifier

遵循this answer中的建议,在 \Anaconda3\Lib\site-packages\PyInstaller\hooks ,我添加了一个名为 hook-pandas.py 的文件其中包含以下内容:

hiddenimports = ['pandas._libs.tslibs.timedeltas',
'sklearn.neighbors.typedefs']

之后,我尝试运行 pyinstaller -F visual_vitals.py --hidden-import sklearn.neighbors.typedefs在 Anaconda 提示符中。

但是,我收到错误 RecursionError: maximum recursion depth exceeded .

如果,另一方面,我只是跑`pyinstaller Visual_vitals.py'

然后 .exe 正确构建,当我尝试运行它时,我收到消息 modulenotfounderror: no module named 'sklearn.neighbors.quad_tree' .

对此我能做什么?

请注意,如果我使用支持向量分类器而不是随机森林,问题就会消失,因此问题特定于该分类器,而不是整个 sklearn .

最佳答案

我在使用 sklearn 和 pyinstaller 时遇到了同样的问题。

这是我解决这个问题的方法:

1.)使用命令:

> pyi-makespec -F visual_vitals.py

2.)这将创建一个名为vitals.spec的文件

3.)查找包含

的行
> hidden imports=[]

在规范文件中。

替换为

> hiddenimports = ['pandas._libs.tslibs.timedeltas',
> 'sklearn.neighbors.typedefs']

4.) 在规范文件的开头添加这两行以增加递归限制

> import sys 
>
> sys.setrecursionlimit(5000)

5.)运行:

> pyinstaller visual_vitals.spec

关于python - Pyinstaller 和 sklearn.ensemble : 'ModuleNotFoundError: No module named ' sklearn.neighbors.quad_tree'[2760]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49558126/

31 4 0