Databricks中运行pytest测试文件夹报错:不支持__pycache__操作
解决Databricks中pytest访问__pycache__目录的OSError问题
问题原因
Databricks的Workspace文件系统基于对象存储,不支持__pycache__这类字节码缓存目录的创建与访问操作,导致pytest在扫描测试目录时触发操作不支持错误。
解决方案
禁用字节码缓存生成
运行pytest时添加-B参数,或者设置环境变量阻止Python生成缓存文件:# 在sample.py中修改pytest调用 import os os.environ["PYTHONDONTWRITEBYTECODE"] = "1" # 全局禁用缓存生成 import pytest pytest.main(["."]) # 此时不会创建__pycache__或者直接在pytest参数中指定:
pytest.main(["-B", "."])直接指定测试文件而非扫描目录
跳过目录扫描,直接指定要运行的测试文件,避免pytest尝试访问缓存目录:pytest.main(["test_example.py"])清理已存在的__pycache__目录
如果目录中已经生成了__pycache__,先手动删除或用Databricks工具删除:# 使用dbutils删除缓存目录 dbutils.fs.rm("/Workspace/Repos/temp/test1/__pycache__", recurse=True)
内容的提问来源于stack exchange,提问作者Bijal Bhagat
相关产品推荐
相关产品推荐

