From f3a56188589806c70bee5f0e9d71efcf679763f0 Mon Sep 17 00:00:00 2001 From: Micho Radovnikovich Date: Wed, 14 Oct 2020 01:36:35 -0400 Subject: [PATCH] Use rospy and setup.py to manage shebangs for Python 2 and Python 3 Following guidance found here: http://wiki.ros.org/UsingPython3/SourceCodeChanges#Changing_shebangs --- CMakeLists.txt | 9 +++++++ package.xml | 25 ++++++++++++------- setup.py | 12 +++++++++ src/hdl_graph_slam/__init__.py | 0 {scripts => src/hdl_graph_slam}/bag_player.py | 0 {scripts => src/hdl_graph_slam}/ford2bag.py | 0 .../hdl_graph_slam}/map2odom_publisher.py | 0 7 files changed, 37 insertions(+), 9 deletions(-) create mode 100755 setup.py create mode 100644 src/hdl_graph_slam/__init__.py rename {scripts => src/hdl_graph_slam}/bag_player.py (100%) rename {scripts => src/hdl_graph_slam}/ford2bag.py (100%) rename {scripts => src/hdl_graph_slam}/map2odom_publisher.py (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e38f06d..7f95e950 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ set(CMAKE_BUILD_TYPE "RELEASE") find_package(catkin REQUIRED COMPONENTS roscpp + rospy pcl_ros geodesy nmea_msgs @@ -21,6 +22,7 @@ find_package(catkin REQUIRED COMPONENTS ndt_omp fast_gicp ) +catkin_python_setup() find_package(PCL REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) @@ -124,3 +126,10 @@ target_link_libraries(hdl_graph_slam_nodelet ) add_dependencies(hdl_graph_slam_nodelet ${PROJECT_NAME}_gencpp) +catkin_install_python( + PROGRAMS + src/${PROJECT_NAME}/bag_player.py + src/${PROJECT_NAME}/ford2bag.py + src/${PROJECT_NAME}/map2odom_publisher.py + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) diff --git a/package.xml b/package.xml index 1ea2bc3c..fd14ff5a 100644 --- a/package.xml +++ b/package.xml @@ -1,5 +1,5 @@ - + hdl_graph_slam 0.0.0 The hdl_graph_slam package @@ -13,6 +13,7 @@ fast_gicp pcl_ros roscpp + rospy nodelet geodesy nmea_msgs @@ -20,14 +21,20 @@ message_generation libg2o - ndt_omp - fast_gicp - pcl_ros - roscpp - geodesy - nodelet - nmea_msgs - sensor_msgs + ndt_omp + fast_gicp + pcl_ros + roscpp + rospy + geodesy + nodelet + nmea_msgs + sensor_msgs + + python-scipy + python3-scipy + python-progressbar + python3-progressbar diff --git a/setup.py b/setup.py new file mode 100755 index 00000000..8097795e --- /dev/null +++ b/setup.py @@ -0,0 +1,12 @@ +## ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD + +from setuptools import setup +from catkin_pkg.python_setup import generate_distutils_setup + +# fetch values from package.xml +setup_args = generate_distutils_setup( + packages=['hdl_graph_slam'], + package_dir={'': 'src'}) + +setup(**setup_args) + diff --git a/src/hdl_graph_slam/__init__.py b/src/hdl_graph_slam/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/bag_player.py b/src/hdl_graph_slam/bag_player.py similarity index 100% rename from scripts/bag_player.py rename to src/hdl_graph_slam/bag_player.py diff --git a/scripts/ford2bag.py b/src/hdl_graph_slam/ford2bag.py similarity index 100% rename from scripts/ford2bag.py rename to src/hdl_graph_slam/ford2bag.py diff --git a/scripts/map2odom_publisher.py b/src/hdl_graph_slam/map2odom_publisher.py similarity index 100% rename from scripts/map2odom_publisher.py rename to src/hdl_graph_slam/map2odom_publisher.py