“ImportError: No module named carla” 问题的解决方案

标签: CARLA  ROS  ubuntu  linux  python

参考: https://carla.readthedocs.io/en/latest/ros_installation/#run-the-ros-bridge

问题描述

安装了ROS bridge 后运行时出错:

roslaunch carla_ros_bridge carla_ros_bridge.launch

显示:ImportError: No module named carla
在这里插入图片描述

问题分析

程序找不到 CARLA Python的路径。apt安装的会自动执行此操作,但其他安装可能会丢失此功能。(我是使用Quick start 安装的)

问题解决

使用.egg文件(included)的完整路径执行以下命令。使用环境Python版本支持的版本。

注意:.egg文件可以位于/PythonAPI//PythonAPI/carla/dist/中,具体取决于CARLA的安装。

 export PYTHONPATH=$PYTHONPATH:<path/to/carla/>/PythonAPI/<your_egg_file>

我的.egg文件的位置:
在这里插入图片描述
我的运行环境的Python版本是2.7,所以我执行的命令是:

export PYTHONPATH=$PYTHONPATH:~/CARLA_0.9.9/PythonAPI/carla/dist/carla-0.9.9-py2.7-linux-x86_64.egg

可以通过以下命令检查是否成功:

python -c 'import carla;print("Success")'

成功时的输出:
在这里插入图片描述
可能还会出现以下问题:

  1. 报错:ImportError: libpng16.so.16: cannot open shard object file: No such file or directory
    在这里插入图片描述
    解决方案:
sudo apt-get install libpng16-16
  1. 报错:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11’
    这是动态库的问题,解决方案如下:
    参考:https://blog.csdn.net/bitcarmanlee/article/details/90242598

1.检查动态库

cd /usr/lib/x86_64-linux-gnu
sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI

输出结果为:

CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_TM_1
CXXABI_FLOAT128

可以看出没有CXXABI_1.3.11

2.查找编译gcc时生成的最新动态库

sudo find / -name "libstdc++.so.6*"

出来的结果:

/home/jk/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26
/home/jk/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/home/jk/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6.0.26
/home/jk/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6
/home/jk/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26
/home/jk/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/home/jk/anaconda3/lib/libstdc++.so.6.0.26
/home/jk/anaconda3/lib/libstdc++.so.6
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
find: ‘/run/user/1000/gvfs’: Permission denied

3.将上面最新的动态库复制到/usr/lib/x86_64-linux-gnu/,对于我来说是libstdc++.so.6.0.26

sudo cp /home/jk/anaconda3/lib/libstdc++.so.6.0.26 /usr/lib/x86_64-linux-gnu/

4.重建默认库的软连接
先cd 进入/usr/lib/x86_64-linux-gnu,然后删除原来的软连接:

cd /usr/lib/x86_64-linux-gnu &&
sudo rm -rf libstdc++.so.6

5.将软连接指向最新的动态库

sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6

6.确认,重新检查动态库

sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'

结果:

ibstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_1.3.12
CXXABI_TM_1
CXXABI_FLOAT128
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_FLOAT128
CXXABI_1.3.12
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3

可以看出已经包含了我们所需的CXXABI_1.3.11

版权声明:本文为amnesiagreen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/amnesiagreen/article/details/106327563

智能推荐

解决:ImportError: No module named 'pygal.i18n'

在《Python编程:从入门到实践》书中的一个项目用到pygal.i18n获取国别码,然而,现在pygal已经没有i18n模块,要改用pygal_maps_world.i18n,解决方法如下: 运行结果:...

Windows下解决ImportError: No module named tkinter

先说环境: - Python 3.8.2,pip 20.0.2 - Win10专业版,64bit,版本号:1903,OS版本:18362 1  问题描述 最近学习Python,照着书里的数据可视化例程写的。首先安装了pip,然后是从网上下载了matplotlib和numpy,装上之后由PowerShell进入Python,用如下代码检查是否安装成功: 没报错,应该是安装成功了。然后运行了...

ImportError: No module named scipy(已经解决)

背景:在ubuntu14或Ubuntu16中默认使用的python2.7的,由于系统依赖于它,就不好卸载了(曾经尝试卸载过,后来系统起不来了)。有时使用python2.7执行一些脚本。 在使用Python 2.7,但是即使安装了scipy,我也会收到此错误 报错如下: 已经使用此apt-get命令安装了scipy- 报如下信息: 解决方案 报了权限问题; 于是执行如下命令: 成功安装,nice! ...

已解决ImportError: No module named ‘face_recognition‘

这个问题搞了好久,网上的方法试了一圈,什么装cmake、装boost、更新pip、用conda装(没有找到包),都不适用我的问题。 用自动安装的指令:pip install face_recognition,一装就报错: 仔细看,这个指令执行一开始,就到阿里云网站下载一个叫:face_recognition-1.3.0-py2.py3-none-any.whl的东西。 还提示Collecting ...

Android 炫酷的横向和环形进度条的实例

一、概述 最近需要用进度条,秉着不重复造轮子的原则,上github上搜索了一番,看了几个觉得比较好看的ProgressBar,比如:daimajia的等。简单看了下代码,基本都是继承自View,彻彻底底的自定义了一个进度条。盯着那绚丽滚动条,忽然觉得,为什么要通过View去写一个滚动条,系统已经提供了ProgressBar以及属于它的特性,我们没必要重新去构建一个,但是系统的又比较丑,不同版本变现...

猜你喜欢

pcap包结构&SNI字段的解析

    pcap文件格式是常用的数据报存储格式,包括wireshark在内的主流抓包软件都可以生成这种格式的数据包。     文件格式:     Pcap文件头(24字节)+数据包头(wireshark增加的)+数据包(网络中抓取的)+…… 1.pcap文件头结构 各字段说明: Magic:4B:0×...

MC9S12XEP100的IIC模块(IICV3)

最近在写DS3231时钟芯片的驱动,这个芯片使用IIC进行通讯,以前没有用过IIC模块,照着教材和示例程序写程序后发现各种问题。没办法,还是官方数据手册靠谱,遂把相应部分又翻译了一遍。果然发现示例程序纯粹就是个玩具,一点用都没有。。。 第15章 集成电路总线(IICV3) 译者注:译者博客(http://blog.csdn.net/lin_strong),转载请保留这条。此为 MC9S12XEP1...

Eureka服务注册与发现

文章目录 二、SpringCLoud中遇到的技术 (一)、Eureka 1、功能: 2、什么是服务治理. 3、什么是服务注册与发现 4、Eureka包含两个组件: Eureka Server和Eureka Client 5、单机Eureka构建步骤 5.1 建model:cloud-eureka-server7001 5.2 写pom 5.3 写yml 5.4 主启动类 5.5 测试 5.6 将消...

Hard Problem【HDU-3551】【一般图最大匹配 带花树】

题目链接   题意:有N个点,M条边,给出每个点的度限制,问能不能用M条边中的几条达成这个目的?   很明显的就是一个建图的问题,很明显的,少于等于度为1的,是可以直接连的,不用限制增广,而大于度为1的,需要限制增广,就可以用这样的限流的方法:  ...

idea 打包 报错maven-shade-plugin:2.4.3:shade (default) on project xxx : Error creating shaded jar: null

idea 打包 报错maven-shade-plugin:2.4.3:shade (default) on project xxx : Error creating shaded jar: null 文章目录 idea 打包 报错maven-shade-plugin:2.4.3:shade (default) on project xxx : Error creating shaded jar: ...