【问题标题】:ImportError: No module named json when using KalibrImportError:使用 Kalibr 时没有名为 json 的模块
【发布时间】:2020-12-21 06:48:42
【问题描述】:

我正在尝试使用 Kalibr 校准我的相机。

当我运行这个命令时:./kalibr_calibrate_cameras --target dynamic/april_6x6.yaml --bag dynamic/dynamic.bag --modules pinhole-equi --topics /cam0/image_raw

我总是得到 ImportError: No module named json。我对python不是很熟悉。我不确定哪里错了。

当我尝试时

$ python
import json

效果很好。 我也尝试在这里运行需要 json 的文件。仍然没有发现任何问题。

importing libraries
Traceback (most recent call last):
  File "/var/kalibr-build/devel/bin/kalibr_calibrate_imu_camera", line 5, in <module>
    exec(fh.read())
  File "<string>", line 3, in <module>
  File "/var/kalibr-build/devel/lib/python2.7/dist-packages/sm/__init__.py", line 34, in <module>
    exec(__fh.read())
  File "<string>", line 5, in <module>
  File "/var/kalibr-build/src/kalibr/Schweizer-Messer/sm_python/python/sm/plotCoordinateFrame.py", line 2, in <module>
    import pylab as p
  File "/home/ethan/.local/lib/python2.7/site-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/home/ethan/.local/lib/python2.7/site-packages/matplotlib/__init__.py", line 141, in <module>
    from ._version import get_versions
  File "/home/ethan/.local/lib/python2.7/site-packages/matplotlib/_version.py", line 7, in <module>
    import json
ImportError: No module named json
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
ImportError: No module named apport.fileutils

Original exception was:
Traceback (most recent call last):
  File "/var/kalibr-build/devel/bin/kalibr_calibrate_imu_camera", line 5, in <module>
    exec(fh.read())
  File "<string>", line 3, in <module>
  File "/var/kalibr-build/devel/lib/python2.7/dist-packages/sm/__init__.py", line 34, in <module>
    exec(__fh.read())
  File "<string>", line 5, in <module>
  File "/var/kalibr-build/src/kalibr/Schweizer-Messer/sm_python/python/sm/plotCoordinateFrame.py", line 2, in <module>
    import pylab as p
  File "/home/ethan/.local/lib/python2.7/site-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/home/ethan/.local/lib/python2.7/site-packages/matplotlib/__init__.py", line 141, in <module>
    from ._version import get_versions
  File "/home/ethan/.local/lib/python2.7/site-packages/matplotlib/_version.py", line 7, in <module>
    import json
ImportError: No module named json

【问题讨论】:

标签: python python-2.7 matplotlib


【解决方案1】:

问题可能不在于您缺少 json,它一直是 long time (since 2.6, wow) 的标准库,而是其他东西。

您至少看起来有一个非常旧或不寻常的matplotlib 版本;能更新一下吗?


也许您的 Python 路径错误(可能会阻止某些导入)

此外,您可能遗漏了使用 Apport 所必需的东西,这会更早地给出错误

ImportError: No module named apport.fileutils

您可能会成功安装python-apport(假设您使用的是Ubuntu,所以这将是through apt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-09
    • 2015-08-04
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    相关资源
    最近更新 更多