0

按照本教程,我构建了我的包,但我无法从另一个模块导入函数

from utils import *

编译成功后运行节点时,出现以下错误:

Importerror: cannot import name 'sys_init' from 'utils'

你能告诉我如何成功地从其他模块导入功能吗?

  • 我有以下文件夹结构:
my_package __ src/__init__.py
          |__ scripts/utils.py
          |__ nodes/my_node.py
          |__ CmakeLists.txt
          |__ package.xml
          |__ setup.py

这是我的setup.py文件:

#!/usr/bin/python3

from distutils.core import setup
from catkin_pkg.python_setup import generate_distutils_setup

# fetch values from package.xml
setup_args = generate_distutils_setup(
    packages=['yumi_motion_api'],
    package_dir={'': 'src'},
    scripts=['scripts/utils.py'],
    requires=['rospy', 'moveit_core', 'moveit_commander', 'moveit_msgs', 'moveit_ros_planning_interface', 'std_msgs',
              'geometry_msgs','sensor_msgs', 'rospy_message_converter','tf','message_generation', 'message_runtime',
               'abb_robot_driver']
)

setup(**setup_args)

这是我的CmakeLists.txt

cmake_minimum_required(VERSION 3.0.2)
project(yumi_motion_api)

find_package(catkin REQUIRED COMPONENTS
  rospy
  tf
  std_msgs
  geometry_msgs
  sensor_msgs
  moveit_core
  moveit_ros_planning
  moveit_ros_planning_interface
  rospy_message_converter
  message_generation
)

catkin_python_setup()
catkin_package(CATKIN_DEPENDS rospy std_msgs)
catkin_package(
 CATKIN_DEPENDS rospy std_msgs tf geometry_msgs sensor_msgs moveit_core moveit_ros_planning_interface rospy_message_converter abb_robot_driver
)
include_directories(
  nodes
  src
  scripts
  ${catkin_INCLUDE_DIRS}
)
catkin_install_python(PROGRAMS
  scripts/utils.py
  nodes/yumi_motion_api_node.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

这是我的package.xml

<?xml version="1.0"?>
<package format="2">
  <name>yumi_motion_api</name>
  <version>0.0.0</version>
  <description>The yumi_motion_api package</description>

  <maintainer email="s@s.com">belal</maintainer>

  <license>LGPLv2.1</license>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>message_generation</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_depend>sensor_msgs</build_depend>
  <build_depend>tf</build_depend>

  <depend>moveit_core</depend>
  <depend>moveit_ros_planning_interface</depend>
  <depend>rospy_message_converter</depend>
  <depend>abb_robot_driver</depend>

  <build_export_depend>rospy</build_export_depend>
  <build_export_depend>message_generation</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
  <build_export_depend>geometry_msgs</build_export_depend>
  <build_export_depend>sensor_msgs</build_export_depend>
  <build_export_depend>tf</build_export_depend>
  
  <exec_depend>rospy</exec_depend>
  <exec_depend>message_runtime</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>geometry_msgs</exec_depend>
  <exec_depend>sensor_msgs</exec_depend>
  <exec_depend>tf</exec_depend>
  <exec_depend>moveit_commander</exec_depend>

  <!-- The export tag contains other, unspecified, tags -->
  <export>
    <!-- Other tools can request additional information be placed here -->

  </export>
</package>
4

0 回答 0