Search code examples
pythonroscatkin

Catkin_make not update my saved python file


So I was modifying a python executable in a ros package named my_turtlebot2_training. I saved the python file after modifying it. When I run catkin_make under ~/catkin_ws, all I got is:

####
#### Running command: "make cmake_check_build_system" in "/home/afrl/catkin_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/afrl/catkin_ws/build"
#### 
[  0%] Built target _theconstruct_msgs_generate_messages_check_deps_RLExperimentInfo 
[ 14%] Built target theconstruct_msgs_generate_messages_nodejs 
[ 42%] Built target theconstruct_msgs_generate_messages_eus 
[ 71%] Built target theconstruct_msgs_generate_messages_py 
[100%] Built target theconstruct_msgs_generate_messages_lisp 
[100%] Built target theconstruct_msgs_generate_messages_cpp 
[100%] Built target theconstruct_msgs_generate_messages

Which did not reflect any changes to my python file. I even tried modifying it to output an error, like adding import sdfsdfasddgfk, but catkin_make still does not output an error.


Solution

  • catkin_make doesn't do any effect to python files. You must make your Python file executable by making chmod +x your_python_file.py

    Then you can run rosrun my_turtlebot2_training your_python_file.py

    Simply, since Python is an interpreted language, catkin does not compile Python files.