【问题标题】:Pyinstaller error while running.exe file made from .py code运行由 .py 代码生成的 .exe 文件时出现 Pyinstaller 错误
【发布时间】:2020-12-25 05:06:43
【问题描述】:
from sklearn.externals import joblib 
  
import pickle
import pandas as pd
# Load the model from the file 
knn_from_joblib = joblib.load('lm.pkl')  
  
X_test= pd.read_excel('input.xlsx')
# Use the loaded model to make predictions 
final_Data= X_test

predictions = knn_from_joblib.predict(X_test) 
predictions
final_Data['Predicted Yield']= predictions

final_Data.to_excel("predictions.xlsx")  

当我从这个文件制作 exe 并运行那个 exe 文件时,我得到了下面的错误

当我从 IDE 运行 .py 文件时,它运行良好。

【问题讨论】:

标签: python python-3.x scikit-learn pyinstaller joblib


【解决方案1】:

尝试在 spec 文件的 hiddenimports 列表中提供“sklearn.externals”,如下所示:

a = Analysis( ...
         hiddenimports=['sklearn.externals']
         ...
         )

【讨论】:

    【解决方案2】:

    缺少从 sklearn 的导入。当 sklearn 尝试导入 joblib 时,它在那里找不到该文件。 当你从 IDE 运行时,检查 joblib 的位置。 如果找到它,请将其保存在 sklearn 可以导入它的路径中。 在您的情况下,它是本地/临时/外部.. 然后重新创建exe文件。

    【讨论】:

    • 能否详细说明,给出一些详细的步骤
    • 你需要找到 joblib 。只需从 sklearn 导入 joblib 的位置搜索。附加的错误表明 sklearn 无法找到 joblib。所以,在创建 exe 文件之前,寻找 joblib,并将其放在 sklearn 可以导入的正确目录中。
    猜你喜欢
    • 2022-07-19
    • 2021-09-05
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2021-06-14
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多