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

Windows下VSCode+Conda环境中h5py无法操作HDF5文件求助

解决Windows+Miniconda环境下h5py创建HDF5文件的锁文件错误

问题描述

  • 运行环境:Windows系统、VSCode编辑器、Miniconda虚拟环境
  • 执行代码:
import h5py

hdf5_filepath = 'filepath'
h = h5py.File(hdf5_filepath, 'w')
  • 触发错误:

OSError: [Errno 0] Unable to synchronously create file (unable to lock file, errno = 0, error message = 'No error', Win32 GetLastError() = 1)

  • 已尝试无效操作:
    • 代码内设置环境变量:import os; os.environ["HDF5_USE_FILE_LOCKING"] = "FALSE"
    • 通过Conda卸载并重装h5py包

可行解决方案

1. 校验文件路径与文件夹权限

  • 使用绝对路径替代相对路径,避免路径解析异常,示例:
hdf5_filepath = r'C:\Projects\ML_Dataset\data.h5'
  • 检查目标文件夹的读写权限:右键文件夹→属性→安全选项卡,确认当前用户拥有写入权限,缺失则添加对应权限。

2. 终止占用文件的进程

  • 排查是否有其他程序占用目标文件或所在文件夹,比如文件资源管理器的预览功能、HDFView工具、其他Python运行进程等,关闭这些进程后重试。
  • 可通过任务管理器结束所有python.exe和code.exe相关进程,重新打开VSCode运行代码。

3. 调整环境变量设置时机

  • 确保环境变量在h5py导入前设置,保证生效:
import os
os.environ["HDF5_USE_FILE_LOCKING"] = "FALSE"
import h5py  # 必须放在环境变量设置之后

hdf5_filepath = r'C:\Projects\ML_Dataset\data.h5'
h = h5py.File(hdf5_filepath, 'w')
  • 也可在Miniconda环境中提前设置环境变量:
    1. 打开Anaconda Prompt,激活目标环境:conda activate your_env_name
    2. 执行命令:set HDF5_USE_FILE_LOCKING=FALSE
    3. 从该终端启动VSCode:code .

4. 调整h5py或HDF5库版本

  • 安装兼容Windows的稳定版h5py:
conda install h5py==3.7.0
  • 若问题持续,更新HDF5基础库:
conda install hdf5=1.12.2

5. 临时关闭Windows Defender实时保护(测试用)

  • Windows Defender的实时扫描可能锁定文件,临时关闭后测试代码。若问题解决,将目标文件夹添加到Defender的排除列表,避免后续干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:26:03