“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")'
成功时的输出:

可能还会出现以下问题:
- 报错:
ImportError: libpng16.so.16: cannot open shard object file: No such file or directory

解决方案:
sudo apt-get install libpng16-16
- 报错: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。
智能推荐
解决: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: ...
