我一直在标题中收到 ImportError。我认为这可能是 python 2 和 python 3 的问题,因为在 python 2.7 上它运行得很好。然而,我在 python 3 上需要它并且不断收到错误,我什至不知道在哪里修复它。
已经有很多关于这个的帖子,但他们每个人都找到了一个对我不起作用的独特解决方案。
详细说明我的项目,以防可能有完全不同的解决方案:我正在尝试使用 YDLidar TG30 和一个在 Raspberry Pi 4 上工作的相机。我想制作一个带有 GUI 的简单小程序建筑工地上的工人可以用来查看激光雷达数据并保存配置文件和图片。为此,我想使用 Python 3,因为这就是我所知道的。
回到 ImportError:在 python 3 文件中调用 import ydlidar
时,我收到以下错误消息:
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.7/site-packages/ydlidar.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
File "<frozen importlib._bootstrap>", line 583, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1043, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: dynamic module does not define module export function (PyInit__ydlidar)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "lidar_test_4.py", line 2, in <module>
import ydlidar
File "/home/pi/.local/lib/python3.7/site-packages/ydlidar.py", line 17, in <module>
_ydlidar = swig_import_helper()
File "/home/pi/.local/lib/python3.7/site-packages/ydlidar.py", line 16, in swig_import_helper
return importlib.import_module('_ydlidar')
File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: dynamic module does not define module export function (PyInit__ydlidar)
可以在 GitHub 上找到我尝试使用的 YDLidar-SDK。