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

如何配置Python包使其成为PyMoDAQ可识别的HDF5数据导出器插件?

PyMoDAQ数据导出器插件未被识别的排查要点

1. 包结构与命名规范

  • 包名需以pymodaq_plugins_开头(你已满足),内部必须包含daq_utils/export目录,导出器类需放置在此路径下,例如:pymodaq_plugins_nexus_exporter/daq_utils/export/nexus_hdf5_exporter.py
  • 导出器类必须继承PyMoDAQ的ExporterBase基类,同时实现export_data核心方法,以及类属性name(显示在插件列表的名称)、extension(对应文件后缀,如.h5或.nexus)

2. 入口点配置(setup.py/pyproject.toml)

PyMoDAQ通过setuptools入口点自动发现插件,必须在打包配置中声明:

  • 若使用setup.py,添加:
    setup(
        ...
        entry_points={
            'pymodaq.exporters': [
                'nexus_hdf5 = pymodaq_plugins_nexus_exporter.daq_utils.export.nexus_hdf5_exporter:NexusHDF5Exporter',
            ],
        },
        ...
    )
    
  • 若使用pyproject.toml(推荐),添加:
    [project.entry-points."pymodaq.exporters"]
    nexus_hdf5 = "pymodaq_plugins_nexus_exporter.daq_utils.export.nexus_hdf5_exporter:NexusHDF5Exporter"
    
    其中键(nexus_hdf5)为插件标识,值需严格遵循模块路径:类名格式,对应你的导出器类位置。

3. 类的元数据与基类继承检查

  • 确保导出器类正确导入并继承基类:from pymodaq.daq_utils.export import ExporterBase
  • 必须定义类级别的name和extension属性,示例:
    class NexusHDF5Exporter(ExporterBase):
        name = "Nexus HDF5"  # 会显示在导出选项列表中
        extension = ".h5"
    
        def export_data(self, data, filename, **kwargs):
            # 你的HDF5导出逻辑实现
            pass
    
  • 不要遗漏**kwargs参数,基类方法要求传入该参数,否则可能导致实例化失败。

4. 包的安装方式

  • 必须以可编辑模式安装插件包,确保PyMoDAQ能识别最新代码:
    pip install -e .
    
    非可编辑模式安装可能引发路径识别问题,尤其在开发阶段。

5. 调试与日志排查

  • 手动触发插件发现逻辑,在PyMoDAQ环境中运行以下代码查看加载情况:
    from pymodaq.utils.factory import ObjectFactory
    exporter_factory = ObjectFactory('pymodaq.exporters')
    print(exporter_factory.available_objects)
    
    若输出中无你的导出器,说明入口点配置有误;若存在但未显示在UI列表,检查name属性是否定义正确。
  • 查看PyMoDAQ日志文件(通常位于用户目录下的.pymodaq/logs),搜索exporters或你的包名,确认是否存在导入异常等加载错误。

6. 依赖与环境一致性

  • 确保你的包依赖的HDF5库(如h5py)已安装,且版本与PyMoDAQ兼容
  • 确认PyMoDAQ与你的插件包处于同一Python环境(避免conda/pip环境冲突)

内容的提问来源于stack exchange,提问作者Sébastien Weber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:37:06