'ModuleNotFoundError: No module named 'sklearn.utils._typedefs'
When I try to execute the exe file made my pyinstaller I got the error message
No module named 'sklearn.utils._typedefs'. I use from sklearn.ensemble import RandomForestClassifier in my python code.
I did use the --hidden-import and solve the problem before but when I try use the different version's python it didn't works
The command I use is
pyinstaller --hidden-import="sklearn.utils._cython_blas" --hidden-import="sklearn.neighbors.typedefs" --hidden-import="sklearn.neighbors.quad_tree" --hidden-import="sklearn.tree._utils" -F myprgname.py
The old setting works
Python 3.6.8
pyinstaller==4.6
pyinstaller-hooks-contrib==2021.3
python-dateutil==2.8.2
pytz==2021.3
scikit-learn==0.24.2
The new setting (got error message above)
Python 3.7.8
pyinstaller==5.0.1
pyinstaller-hooks-contrib==2022.4
python-dateutil==2.8.2
pytz==2022.1
scikit-learn==1.0.2
any suggestion is appreciated.
Solution 1:[1]
Had the same issue today, I resolved it by adding news hidden imports :
--hidden-import="sklearn.utils._typedefs"
This one may be sufficient for your issue, but for me, I had to add also :
--hidden-import="sklearn.neighbors._partition_nodes"
Here is the full command that I used :
pyinstaller --hidden-import="sklearn.utils._cython_blas" --hidden-import="sklearn.neighbors.typedefs" --hidden-import="sklearn.neighbors.quad_tree" --hidden-import="sklearn.tree._utils" --hidden-import="sklearn.neighbors._typedefs" --hidden-import="sklearn.utils._typedefs" --hidden-import="sklearn.neighbors._partition_nodes" --onefile MyPythonScript.pyw
My environment :
Python 3.9.12
Pyinstaller 5.0.1
pyinstaller-hooks-contrib==2022.4
python-dateutil==2.8.2
scikit-learn==1.0.2
pytz == none
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Brian |
