You need to enable JavaScript to run this app. Python3导入ydlidar报dynamic module does not define module export function错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python3导入ydlidar报dynamic module does not define module export function错误如何解决

问题根因

你遇到的ImportError: dynamic module does not define module export function (PyInit__ydlidar)报错,是因为当前安装的ydlidar SDK的swig绑定模块是针对Python2编译生成的,Python3加载C扩展动态库时需要的初始化入口不存在,因此无法正常导入。


解决步骤

  1. 卸载已安装的错误版本ydlidar包
pip3 uninstall ydlidar -y
# 如果之前用Python2安装过该包,也可以一并清理避免冲突
pip uninstall ydlidar -y
  1. 安装编译所需的系统依赖
sudo apt update
sudo apt install swig python3-dev cmake build-essential -y
  1. 重新编译SDK并指定Python3版本
    进入你本地存放YDLidar-SDK源码的目录,依次执行以下命令:
mkdir build && cd build
# cmake时指定Python3解释器路径,确保绑定针对Python3生成
cmake .. -DPYTHON_EXECUTABLE=/usr/bin/python3
make -j4
# 安装编译好的Python3版本包
cd ../python
python3 setup.py install --user
  1. 验证安装结果
    切换到非SDK源码的任意目录,执行以下命令,无报错且输出版本号即为安装成功:
python3 -c "import ydlidar; print(ydlidar.__version__)"

注意事项

  • 如果你使用了Python虚拟环境,需要将cmake步骤中的/usr/bin/python3替换为你虚拟环境内的python3可执行文件路径
  • 不要在SDK源码目录下测试导入,否则会优先读取目录内适配Python2的ydlidar.py文件,导致重复报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:24:02