You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MLJar API Python Wrapper训练模型时出现[Errno 2]文件不存在错误求助

解决MLJar API Python Wrapper训练时「No such file or directory」错误

我之前也碰到过MLJar这个临时文件找不到的问题,给你几个实用的排查和解决方向:

  • 检查临时目录的权限与可用性
    首先确认系统的/tmp目录是否存在,且当前用户有读写权限。可以在终端执行:

    ls -ld /tmp
    

    正常输出应该是drwxrwxrwt(所有用户可读写,且有粘滞位)。如果权限不对,可执行:

    sudo chmod 1777 /tmp
    

    修复权限后再重试训练。

  • 绕开自动生成临时文件的逻辑
    MLJar在接收DataFrame作为输入时,会自动将其转存为/tmp下的临时CSV。如果这个生成过程出了问题,你可以手动导出数据到本地文件,再传递给MLJar:

    import pandas as pd
    # 假设你的数据集是df
    df.to_csv("./my_dataset.csv", index=False)
    # 用本地文件路径训练模型
    from supervised.automl import AutoML
    automl = AutoML()
    automl.train("./my_dataset.csv", target="your_target_column")
    

    这种方式跳过了MLJar的临时文件生成步骤,能排查是不是自动转存环节出了问题。

  • 自定义MLJar的临时文件目录
    你可以通过设置环境变量,让MLJar把临时文件存在你可控的目录下,避免/tmp的权限或清理问题:

    import os
    # 设置自定义临时目录
    custom_tmp_dir = "/home/your_username/mljar_temp"
    os.environ["MLJAR_TMP_DIR"] = custom_tmp_dir
    # 确保目录存在
    os.makedirs(custom_tmp_dir, exist_ok=True)
    # 之后再初始化MLJar并训练
    from supervised.automl import AutoML
    automl = AutoML()
    automl.train(your_data, target="your_target_column")
    
  • 升级MLJar及依赖
    这个问题可能是旧版本的bug,尝试升级MLJar到最新版本:

    pip install --upgrade mljar-supervised
    

    同时检查pandas、numpy等依赖是否为兼容版本,避免因依赖冲突导致的文件生成失败。

  • 排查系统临时文件清理机制
    部分Linux系统会定期清理/tmp目录(比如通过systemd-tmpfiles),如果MLJar生成临时文件后还没开始训练就被清理,也会触发这个错误。你可以临时关闭自动清理(不推荐长期使用),或者在训练前手动生成一个测试文件,确认它不会被快速清理:

    touch /tmp/test_temp_file.csv
    # 等待几分钟后检查文件是否存在
    ls /tmp/test_temp_file.csv
    

内容的提问来源于stack exchange,提问作者Victor Valente

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:04:19