ROS2 foxy版本的python项目中,调用pybind11生成.so,提示ModuleNotFoundError
-
如题,ROS2的python调用.so,在import的时候提示找不到,但是其实已经存在,并且直接使用python调用.so是成功的。
例子很简单,参考https://blog.csdn.net/qq_42108414/article/details/122865374
我的test_publisher.py,在import example的时候报错,使用的库的名字是:example.cpython-312-x86_64-linux-gnu.soimport rclpy from rclpy.node import Node from std_msgs.msg import String import example class Publisher(Node): def __init__(self,name): super().__init__(name) self.publisher = self.create_publisher(String,"talker_topic",10) #创建一个名为"talker_topic"的话题 timer_period = 5 # 定时器周期为5s self.timer = self.create_timer(timer_period,self.timer_callback) #创建定时器 self.get_logger().info("hello,I'm %s!" %name) # 打印输出日志信息 self.i = 0 self.person = example.Person("Alice", 30) def timer_callback(self): # 定时器回调函数 msg = String() msg.data = 'NO.%d,hello!' %(self.i) # 发布的内容 self.publisher.publish(msg) # 将内容发布出去 self.get_logger().info("Publishing: %s"%msg.data) # 打印发布的内容 self.i += 1 self.person.introduce() def main(args=None): rclpy.init(args=args) # 初始化rclpy node = Publisher("talker") # 创建一个节点,名为“talker” rclpy.spin(node) # 运行节点 rclpy.shutdown() # 关闭rclpy if __name__ == '__main__': main()