ros / urdf_parser_py

Standalone URDF parser for Python.
83 stars 48 forks source link

ImportError: No module named lxml #51

Closed Rayman closed 4 years ago

Rayman commented 4 years ago

After yesterday's sync, this package doesn't install it's dependencies on lxml and yaml.

apt install -y ros-melodic-urdfdom-py

python -c 'import urdf_parser_py.urdf'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/ros/melodic/lib/python2.7/dist-packages/urdf_parser_py/urdf.py", line 1, in <module>
    from urdf_parser_py.xml_reflection.basics import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/urdf_parser_py/xml_reflection/__init__.py", line 1, in <module>
    from urdf_parser_py.xml_reflection.core import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/urdf_parser_py/xml_reflection/core.py", line 1, in <module>
    from urdf_parser_py.xml_reflection.basics import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/urdf_parser_py/xml_reflection/basics.py", line 4, in <module>
    from lxml import etree
ImportError: No module named lxml

If you look at the dependencies of the debian package, it is missing 2 of them. Are the condition tags parsed properly?

apt depends ros-melodic-urdfdom-py
ros-melodic-urdfdom-py
  Depends: ros-melodic-rospy
fmessmer commented 4 years ago

experiencing the same running travis tests

I guess it was caused by https://github.com/ros/urdf_parser_py/commit/87b2913d5b5cc06178569191e33b5fded2675b13#diff-34ae68f4adad56c25c5bc05dcb64794e

Rayman commented 4 years ago

I think this package is released with old bloom tooling.

If you look at ros_comm, the package xml looks like this and after releasing the condition tags are resolved.

When I look at urdfdom_py the condition tags have not been resolved after releasing with bloom.

@sloretz, is it possible to test releasing this package with bloom 0.9.0?

sloretz commented 4 years ago

@sloretz, is it possible to test releasing this package with bloom 0.9.0?

Used bloom 0.9.0 to release 0.4.1-2 in https://github.com/ros/rosdistro/pull/22921

Looks like lxml and yaml are now listed as dependencies.

Rayman commented 4 years ago

Thanks!

sloretz commented 4 years ago

Looks like lxml and yaml are listed as dependencies in ros-testing, so I'll close this issue for now. It should be fixed in the next sync.


Package: ros-melodic-urdfdom-py
Version: 0.4.1-2bionic.20191109.013217
Architecture: amd64
Maintainer: Chris Lalancette <clalancette@osrfoundation.org>
Installed-Size: 150
Depends: python-lxml, python-yaml, ros-melodic-rospy
Homepage: http://wiki.ros.org/urdfdom_py
Priority: optional
Section: misc
Filename: pool/main/r/ros-melodic-urdfdom-py/ros-melodic-urdfdom-py_0.4.1-2bionic.20191109.013217_amd64.deb
Size: 31720
SHA256: 16e1acf13815bf96d4fcc53b90c89a5185259959b7299395da3d165e7e3f7f01
SHA1: a0db3d31832c814da041e4d1c809f11bb24b44f7
MD5sum: e21d75614aac5627382c0f031b71fd19
Description: Python implementation of the URDF parser.