<要約>
scikit-learn==0.24.1 python 3.8.9 の環境下で作成したプログラムを
pyinstaller==4.3 でEXE化しようとしました。
exeは出来るのですが、プログラムが起動しないという状況にありました。
状況確認の結果2点問題がありました
1)exe化時にPower shellで
warningでsklearn.neighbors.typedefs が not found
と出力されていました。
- power shell でexeファイルを起動すると、
ModuleNotFoundError: No module named 'sklearn.utils._weight_vector'
と出力されていました。
改善は下記2点を実行して解決しました。その結果 exeファイルは予定通り起動しました。
1)の問題は
Lib\site-packages_pyinstaller_hooks_contrib\hooks\stdhooks\hook-sklearn.metrics.cluster.py
を訂正する事で改善しました。
こちらは、リンクを参照ください。
https://qiita.com/niwataka/items/7712c38d287b50479cd4
2)の問題はpyinstaller 時に
pyinstaller ****.py --hidden-import=sklearn.utils._weight_vector
とhidden importで事前にimportする事で解決しました。