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

本地可运行的Pytest在Github Actions中报FileNotFoundError求助

排查Github Actions中Pytest资源文件找不到的调试方向
  • 检查路径大小写一致性
    本地Windows/macOS环境是大小写不敏感的,但Github Actions使用的Linux环境严格区分大小写。确认代码中引用gazetteer的路径大小写,和实际文件的大小写完全匹配,避免出现代码写Gazetteer但实际文件是gazetteer的情况。

  • 打印资源查找的绝对路径
    在测试代码中加入调试逻辑,输出程序尝试加载资源的具体路径,对比实际安装路径:

    import os
    import pkg_resources
    try:
        resource_path = pkg_resources.resource_filename('ml_save_memory_flow.ner_re.resources', 'gazetteer')
        print(f"资源查找路径: {resource_path}")
        print(f"文件是否存在: {os.path.exists(resource_path)}")
    except Exception as e:
        print(f"获取路径出错: {e}")
    

    在Github Actions日志中查看输出,确认路径是否和site-packages中的实际位置一致。

  • 验证资源文件的安装状态
    在Github Actions的构建步骤中添加命令,直接查看site-packages下目标目录的内容:

    # 先确认包的安装位置
    PKG_LOC=$(pip show ml_save_memory_flow | grep Location | awk '{print $2}')
    # 列出资源目录下的文件
    ls -la $PKG_LOC/ml_save_memory_flow/ner_re/resources/
    # 检查文件权限
    ls -l $PKG_LOC/ml_save_memory_flow/ner_re/resources/gazetteer
    

    确认gazetteer文件存在且具备可读权限(Linux下至少有r权限)。

  • 检查package_data配置的有效性
    本地可能用pip install -e .的可编辑模式,直接读取源码目录的资源;但Github Actions中是正常安装,需确保setup.py配置正确:

    setup(
        # 其他配置项...
        package_data={
            'ml_save_memory_flow.ner_re.resources': ['gazetteer'],
        },
        include_package_data=True,  # 若使用MANIFEST.in则需开启
    )
    

    同时确认MANIFEST.in(如果存在)是否包含该资源:

    include ml_save_memory_flow/ner_re/resources/gazetteer
    
  • 修正资源加载方式
    如果代码中用相对路径(比如../resources/gazetteer)加载资源,本地可能正常,但安装到site-packages后相对路径会失效。改用Python标准的资源加载方式:

    from importlib.resources import files
    resource_path = files('ml_save_memory_flow.ner_re.resources').joinpath('gazetteer')
    
  • 检查工作目录差异
    测试代码若依赖当前工作目录,而Github Actions的工作目录和本地不同,会导致路径错误。在测试前添加命令打印当前工作目录:

    pwd
    

    同时排查测试代码中是否有依赖当前目录的逻辑。

  • 查看安装过程的警告/错误
    在Github Actions的pip install步骤日志中,检查是否有关于package_data的警告(比如资源文件找不到、无法复制等),这些信息可能直接指向配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:23:16