打包错误;pyinstaller;No module named 'sklearn.utils._cython_blas'

5,433 阅读1分钟

背景

    from sklearn.preprocessing import StandardScaler
    from openpyxl import Workbook,load_workbook
    from sklearn.gaussian_process import GaussianProcessRegressor
    from sklearn.gaussian_process.kernels import RBF, ConstantKernel, WhiteKernel,Matern, RationalQuadratic, ExpSineSquared, DotProduct
    from sklearn.svm import SVR
    from sklearn.neighbors import KNeighborsRegressor
    from sklearn.tree import DecisionTreeRegressor
    from sklearn.ensemble import RandomForestRegressor
    from sklearn.ensemble import ExtraTreesRegressor

使用pyinstaller打包

问题

    ModuleNotFoundError: No module named 'sklearn.utils._cython_blas'

    ModuleNotFoundError: No module named 'sklearn.neighbors._typedefs'

由于还有sklearn的其他库,所以不止上面两个错误 主要是sklearn的问题,(还有其他的问题是因为代码写错了,哈哈哈哈,,,)

解决办法

参考这个 将缺少的那几个model --hidden-import上就行了

    pyinstaller -F -w --hidden-import="sklearn.utils._cython_blas" --hidden-import="sklearn.neighbors.typedefs" --hidden-import="sklearn.neighbors.quad_tree" --hidden-import="sklearn.tree" --hidden-import="sklearn.tree._utils" 0329gui.py

用这个打包完美解决(0329gui.py是我代码,花三天写gui,半天解决打包问题,,,) 缺哪个import哪个,不过一般是都缺,,,

如果还不行的话就把上面那几个文件(下图)复制到打包的路径,并且把名字也改成上面那种名字(如:sklearn.utils._cython_blas.pxd)

在这里插入图片描述