Skip to content
This repository has been archived by the owner on Feb 4, 2020. It is now read-only.

Sourcing overlay workspace's setup file isn't enough for python packages #132

Closed
dhood opened this issue Feb 18, 2017 · 2 comments
Closed
Assignees
Labels
bug Something isn't working

Comments

@dhood
Copy link
Contributor

dhood commented Feb 18, 2017

If you follow this tutorial https://github.com/ros2/ros2/wiki/Ament-Tutorial the part where it says

If you are returning with a new terminal to your development and want to pick up developing on your overlay you can simply source ~/overlay_ws/setup.bash which will source all parent workspaces environments automatically.

works fine for ament_cmake packages but doesn't seem to apply to ament_python packages.

I understand this to be related to #109

(The following outputs are from a while ago, but ros2/ros2#312, which was opened today, is the same issue)

dhood@osrf-esteve:~/overlay_ws [overlay_ws]$ . install/setup.bash 
Warning: OSPL_URI was already set to [[file:///usr/etc/opensplice/config/ospl.xml]]. This will not override it to the default [[file:///home/dhood/ros2_ws1/install_isolated/opensplice_cmake_module/share/opensplice_cmake_module/config/ros_ospl.xml]]. Please make sure this is the config that you want.
dhood@osrf-esteve:~/overlay_ws [overlay_ws]$ talker_py 
Traceback (most recent call last):
File "/home/dhood/overlay_ws/install/bin/talker_py", line 9, in 
load_entry_point('rclpy-examples==0.0.0', 'console_scripts', 'talker_py')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/home/dhood/overlay_ws/install/lib/python3.5/site-packages/topics/talker_py.py", line 18, in 
import rclpy
File "/home/dhood/ros2_ws1/install_isolated/rclpy/lib/python3.5/site-packages/rclpy/__init__.py", line 23, in 
from rclpy.impl import rmw_implementation_tools
File "/home/dhood/ros2_ws1/install_isolated/rclpy/lib/python3.5/site-packages/rclpy/impl/rmw_implementation_tools.py", line 18, in 
import ament_index_python
ImportError: No module named 'ament_index_python'
dhood@osrf-esteve:~/overlay_ws [overlay_ws]$ echo $PYTHONPATH 
/home/dhood/overlay_ws/install/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/tf2_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rclpy/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/sensor_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/ros1_bridge/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/nav_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/diagnostic_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/geometry_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/std_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_py/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rcl_interfaces/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/pendulum_msgs/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/example_interfaces/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/builtin_interfaces/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_opensplice_c/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_opensplice_cpp/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_introspection_cpp/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_introspection_c/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_connext_c/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_connext_cpp/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_dds_idl/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_cpp/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_c/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_cmake/lib/python3.5/site-packages:/home/dhood/ros2_ws1/install_isolated/rosidl_parser/lib/python3.5/site-packages
dhood@osrf-esteve:~/overlay_ws [overlay_ws]$ echo $PYTHONPATH | grep ament
dhood@osrf-esteve:~/overlay_ws [overlay_ws]$
dhood@osrf-esteve:~/overlay_ws [overlay_ws]$ echo $PATH
/home/dhood/overlay_ws/install/bin:/home/dhood/ros2_ws1/install_isolated/uncrustify/bin:/home/dhood/ros2_ws1/install_isolated/pendulum_control/bin:/home/dhood/ros2_ws1/install_isolated/tlsf_cpp/bin:/home/dhood/ros2_ws1/install_isolated/tlsf/bin:/home/dhood/ros2_ws1/install_isolated/tf2_ros/bin:/home/dhood/ros2_ws1/install_isolated/tf2_msgs/bin:/home/dhood/ros2_ws1/install_isolated/tf2/bin:/home/dhood/ros2_ws1/install_isolated/test_rclcpp/bin:/home/dhood/ros2_ws1/install_isolated/test_communication/bin:/home/dhood/ros2_ws1/install_isolated/rclpy/bin:/home/dhood/ros2_ws1/install_isolated/rclcpp_examples/bin:/home/dhood/ros2_ws1/install_isolated/intra_process_demo/bin:/home/dhood/ros2_ws1/install_isolated/image_tools/bin:/home/dhood/ros2_ws1/install_isolated/sensor_msgs/bin:/home/dhood/ros2_ws1/install_isolated/ros1_bridge/bin:/home/dhood/ros2_ws1/install_isolated/composition/bin:/home/dhood/ros2_ws1/install_isolated/rclcpp/bin:/home/dhood/ros2_ws1/install_isolated/rclc/bin:/home/dhood/ros2_ws1/install_isolated/rcl/bin:/home/dhood/ros2_ws1/install_isolated/nav_msgs/bin:/home/dhood/ros2_ws1/install_isolated/diagnostic_msgs/bin:/home/dhood/ros2_ws1/install_isolated/geometry_msgs/bin:/home/dhood/ros2_ws1/install_isolated/std_msgs/bin:/home/dhood/ros2_ws1/install_isolated/rttest/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_default_generators/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_py/bin:/home/dhood/ros2_ws1/install_isolated/rcl_interfaces/bin:/home/dhood/ros2_ws1/install_isolated/pendulum_msgs/bin:/home/dhood/ros2_ws1/install_isolated/example_interfaces/bin:/home/dhood/ros2_ws1/install_isolated/builtin_interfaces/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_default_runtime/bin:/home/dhood/ros2_ws1/install_isolated/rmw_implementation/bin:/home/dhood/ros2_ws1/install_isolated/rmw_opensplice_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_opensplice_c/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_opensplice_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rmw_fastrtps_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rmw_connext_dynamic_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_introspection_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_introspection_c/bin:/home/dhood/ros2_ws1/install_isolated/rmw_connext_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_connext_c/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_typesupport_connext_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_dds_idl/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_cpp/bin:/home/dhood/ros2_ws1/install_isolated/rmw/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_generator_c/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_cmake/bin:/home/dhood/ros2_ws1/install_isolated/rosidl_parser/bin:/home/dhood/ros2_ws1/install_isolated/rmw_implementation_cmake/bin:/home/dhood/ros2_ws1/install_isolated/rmw_connext_shared_cpp/bin:/home/dhood/ros2_ws1/install_isolated/python_cmake_module/bin:/home/dhood/ros2_ws1/install_isolated/class_loader/bin:/home/dhood/ros2_ws1/install_isolated/poco_vendor/bin:/home/dhood/ros2_ws1/install_isolated/opensplice_cmake_module/bin:/home/dhood/ros2_ws1/install_isolated/ament_index_cpp/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_gtest/bin:/home/dhood/ros2_ws1/install_isolated/gtest_vendor/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_gmock/bin:/home/dhood/ros2_ws1/install_isolated/gmock_vendor/bin:/home/dhood/ros2_ws1/install_isolated/fastrtps_cmake_module/bin:/home/dhood/ros2_ws1/install_isolated/fastrtps/bin:/home/dhood/ros2_ws1/install_isolated/fastcdr/bin:/home/dhood/ros2_ws1/install_isolated/console_bridge/bin:/home/dhood/ros2_ws1/install_isolated/connext_cmake_module/bin:/home/dhood/rti_connext_dds-5.2.3/lib/x64Linux3gcc4.8.2:/home/dhood/rti_connext_dds-5.2.3/bin:/home/dhood/ros2_ws1/install_isolated/ament_lint_common/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_uncrustify/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_pyflakes/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_pep8/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_pep257/bin:/home/dhood/ros2_ws1/install_isolated/ament_lint_auto/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_nose/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_cpplint/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_cppcheck/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_clang_format/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_copyright/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_lint_cmake/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_auto/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_test/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_target_dependencies/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_python/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_dependencies/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_libraries/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_include_directories/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_link_flags/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_libraries/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_interfaces/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_include_directories/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_export_definitions/bin:/home/dhood/ros2_ws1/install_isolated/ament_cmake_core/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
@dhood dhood added the bug Something isn't working label Feb 18, 2017
@wjwwood
Copy link
Contributor

wjwwood commented Mar 1, 2017

I've seen this too. If I build a workspace (non-isolated) on top of my full ros2 workspace (isolated) then I get a PYTHONPATH which does not contain several important paths (like launch).

@wjwwood
Copy link
Contributor

wjwwood commented Mar 1, 2017

It looks like the issue is that pure python packages are not put on the AMENT_PREFIX_PATH when the local_setup.*sh file is sourced, so later the second workspace never visits them to source their environment hooks.

@wjwwood wjwwood self-assigned this Mar 1, 2017
@wjwwood wjwwood added the in progress Actively being worked on (Kanban column) label Mar 1, 2017
@wjwwood wjwwood removed the in progress Actively being worked on (Kanban column) label Mar 1, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants