ImportError: dynamic module does not define module export function (PyInit__tf2)

ImportError: dynamic module does not define module export function (PyInit__tf2)

在运行命令 roslaunch turtle_tf turtle_tf_demo.launch 命令的时候发现出现错误,只出现了一只小海龟,后面有ImportError: dynamic module does not define module export function (PyInit__tf2)错误提示。
查阅了各种博客之后,发现是Python环境没有配置好。
可能是因为Python版本数太多的原因造成的。
首先确定安装了rospkg包和tf包,并且已经退出了conda base环境

$ conda deactivate
#如果想要关闭自启动base环境
$ conda config --set auto_activate_base false
$ pip3 install rospkg
$ sudo apt-get install ros-melodic-tf

如果出现上面的错误就查看tf包的位置

$ pip3 show tf
Name: tf
Version: 1.12.1
Summary: tf is a package that lets the user keep track of multiple coordinate
Home-page: None
Author: None
Author-email: None
License: None
Location: /opt/ros/melodic/lib/python2.7/dist-packages
Requires: 
Required-by

可以看到tf包的位置在Python2.7的环境中
然后更改 .bashrc 文件:

$ gedit .bashrc
#在最后一行添加:
alias python=python2

然后确定Python可以导入tf包

$  python 
Python 2.7.17 (default, Sep 30 2020, 13:38:04) 
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tf

再次运行roslaunch turtle_tf turtle_tf_demo.launch 会发现成功了,turtle2可以跟随turtle1运动了

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值