VS Code运行Python机器学习代码时遇终端退出码2错误求助
解决VS Code中Python代码运行时PowerShell退出码2的问题
一、终端退出码2的直接排查方案
- 确认Python解释器配置:按
Ctrl+Shift+P输入Python: Select Interpreter,选中安装了pandas、scikit-learn等依赖的Python环境(虚拟环境或系统环境均可)。 - 调整PowerShell执行策略:以管理员身份打开PowerShell,执行命令:
输入Set-ExecutionPolicy RemoteSignedY确认,解除脚本运行限制。 - 更换终端类型:在VS Code的设置JSON中修改默认终端,按
Ctrl+Shift+P输入Preferences: Open Settings (JSON),添加:
保存后重启终端,用命令提示符运行代码。"terminal.integrated.defaultProfile.windows": "Command Prompt"
二、代码本身的潜在问题修复
这些问题可能导致程序运行失败,进而触发终端异常退出:
- 修复文件路径转义:CSV文件路径中的反斜杠会被识别为转义字符,修改为原始字符串格式:
data = pd.read_csv(r"D:\Dayroi\ML Learn\Test\car-sales-extended.csv") - 避免无限循环:原代码中
while(scoreT < 0.9)可能永远无法终止(汽车销售数据集很难达到0.9的测试集分数),添加循环次数上限:scoreH = 1 scoreT = 0 max_iter = 50 # 设置最大循环次数 current_iter = 0 while scoreT < 0.9 and current_iter < max_iter: Xh, Xt, Yh, Yt = train_test_split(taX, y, test_size=0.2) clf.fit(Xh, Yh) y_prede = clf.predict(Xt) scoreH = clf.score(Xh, Yh) scoreT = clf.score(Xt, Yt) print(scoreT) current_iter += 1 - 清理无关代码:
MLPClassifier是分类模型,而你的任务是回归(预测Price连续值),当neu=False时不会用到它,建议删除该部分冗余代码,避免混淆。 - 规范模型保存路径:确保模型文件能正常写入,可指定完整路径或修改文件名:
pickle.dump(clf, open("car-sales-regressor.pkl", "wb")) load = pickle.load(open("car-sales-regressor.pkl", "rb"))
内容的提问来源于stack exchange,提问作者PTDL Hermann Gmeiner - Lp 6A2
相关产品推荐
相关产品推荐

