ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yeah, unfortunately the setup.py while trying to be conventional, in practice that setup.py is sort of a crutch we use to get Python code to install to the correct place. Rather then trying to figure out where your Python code should go on every different system and variation we rely on the setuptools infrastructure to give us the right answer.

Obviously this is not working for you out of the box, but looking at the error it seems mostly confused about where the package.xml is. You might be able to modify your setup.py to make this work by changing to the directory of the setup.pybefore running the generate_distutils_setup function. At best I would call this a hack.

I don't really have any experience with tox, but my understanding is that many people use it to install into a virtualenv for several versions of Python before doing testing in each. It should be possible to install catkin packages into a virtualenv, but I haven't tried that lately. Unfortunately at this point I wouldn't know how to proceed with integrating tox into this workflow.

Here are some links which might help you to decide what to look at next:

  • This is a script that catkin runs to extract information from the setup.py: https://github.com/ros/catkin/blob/indigo-devel/cmake/interrogate_setup_dot_py.py
  • This is the CMake code which handles installing Python code: https://github.com/ros/catkin/blob/indigo-devel/cmake/catkin_python_setup.cmake