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

Windows下pylsl加载liblsl失败:架构不匹配问题咨询

问题:Windows下加载liblsl失败(WinError 193)

在Windows系统运行依赖pylsl的Python脚本时失败,该包依赖liblsl库,已将PYLSL_LIB环境变量指向从liblsl v1.16.0下载的.../liblsl-1.16.0-Win_amd64/bin/lsl.dll路径,且安装了Microsoft Visual C++ Redistributable,设备为64位,脚本在Debian 11系统可正常运行(Linux下使用源码编译的liblsl)。当前出现RuntimeError提示liblsl找到但无法加载,疑似平台/架构不匹配,Wine环境运行Python3.8也出现相同错误,错误调用栈如下:

Traceback (most recent call last):
  File "C:\Python38\lib\site-packages\pylsl\pylsl.py", line 1279, in <module>
    lib = CDLL(libpath)
  File "C:\Python38\lib\ctypes\__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] Bad EXE format for %1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\<...>\test.py", line 1, in <module>
    from pylsl import StreamInlet, resolve_stream, examples
  File "C:\Python38\lib\site-packages\pylsl\__init__.py", line 2, in <module>
    from .pylsl import IRREGULAR_RATE, DEDUCED_TIMESTAMP, FOREVER, cf_float32,\
  File "C:\Python38\lib\site-packages\pylsl\pylsl.py", line 1293, in <module>
    raise RuntimeError(err_msg + "\n " + __dload_msg)
RuntimeError: liblsl library '/home/<...>/liblsl-1.16.0-Win_amd64/bin/lsl.dll' found but could not be loaded - possible platform/architecture mismatch.
 You may need to download and install the latest Microsoft Visual C++ Redistributable.
 You can install the LSL library with conda: `conda install -c conda-forge liblsl`
or otherwise download it from the liblsl releases page assets: https://github.com/sccn/liblsl/releases
0104:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032F350

原因分析

WinError 193(Bad EXE format)的核心原因是加载的二进制文件与当前Python进程架构不匹配,或DLL本身损坏/依赖缺失,结合你的场景,可能的具体原因:

  • 设备是64位,但使用的Python是32位版本,与下载的64位liblsl(Win_amd64)不兼容
  • PYLSL_LIB路径配置错误,比如含未转义的空格、特殊字符,或指向的文件并非正确的64位lsl.dll
  • 下载的liblsl v1.16.0的lsl.dll文件损坏
  • 安装的Microsoft Visual C++ Redistributable版本与liblsl编译时依赖的版本不匹配

解决方法

  • 检查Python架构:打开命令提示符,运行以下命令:

    python -c "import sys; print(sys.maxsize > 2**32)"
    

    若输出False,说明是32位Python,需切换为64位Python,或下载32位版本的liblsl重新配置PYLSL_LIB

  • 验证PYLSL_LIB路径:

    • 确保路径为绝对路径,若含空格需用引号包裹(如"C:\Program Files\liblsl\bin\lsl.dll")
    • 直接打开路径确认lsl.dll存在,且是从liblsl Win_amd64包中提取的文件
    • 重启命令提示符或IDE,确保环境变量生效
  • 重新下载liblsl:删除现有lsl.dll,重新下载对应版本的Win_amd64包,解压后提取lsl.dll到原路径,避免文件损坏

  • 匹配VC++ Redistributable版本:liblsl v1.16.0通常依赖2019或2022版的x64 Microsoft Visual C++ Redistributable,确保安装的是x64版本

  • 使用conda自动管理依赖:若使用conda环境,直接运行以下命令,conda会自动匹配架构和依赖,无需手动设置环境变量:

    conda install -c conda-forge liblsl
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:25:54