Robotics StackExchange | Archived questions

PyCapsule_Import could not import module "pyexpat" When running rosdep update

ros version:indigo system version:Ubuntu 14.04.4 LTS

I have some problems when running

rosdep update

the error msg as follow

 dgyx@dgyx-pc:~$ rosdep update
Traceback (most recent call last):
  File "/usr/bin/rosdep", line 3, in <module>
    from rosdep2.main import rosdep_main
  File "/usr/lib/python2.7/dist-packages/rosdep2/__init__.py", line 40, in <module>
    from .installers import InstallerContext, Installer, \
  File "/usr/lib/python2.7/dist-packages/rosdep2/installers.py", line 35, in <module>
    from rospkg.os_detect import OsDetect
  File "/usr/lib/python2.7/dist-packages/rospkg/__init__.py", line 43, in <module>
    from .rospack import RosPack, RosStack, \
  File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 35, in <module>
    from xml.etree.cElementTree import ElementTree
  File "/usr/lib/python2.7/xml/etree/cElementTree.py", line 3, in <module>
    from _elementtree import *
ImportError: PyCapsule_Import could not import module "pyexpat"

then i do

dgyx@dgyx-pc:/$ sudo find . -name pyexpat*
[sudo] password for dgyx: 
./usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so
./usr/include/python2.7/pyexpat.h

Any help is much appreciated.

Asked by dgyx on 2016-02-29 06:57:16 UTC

Comments

Answers

I had solved this problem by

dgyx@dgyx-pc:~/catkin_ws$ ldd /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so 
    linux-vdso.so.1 =>  (0x00007fffa4570000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3ff57dc000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3ff5416000)
    libexpat.so.1 => /opt/oracle/product/11.2.0/dbhome_1/lib/libexpat.so.1 (0x00007f3ff52e5000)
    /lib64/ld-linux-x86-64.so.2 (0x00005645018a1000)

cd /opt/oracle/product/11.2.0/dbhome_1/lib
sudo mv libexpat.so.1 libexpat.so.1.bak

I think I should edit the LD_LIBRARY_PATH environment.

Asked by dgyx on 2016-02-29 08:14:06 UTC

Comments

Thank for @dgyx's solution. I also have this problem when I run the roscore command after I have installed Matlab MCR on my Ubuntu 1404 32bit system.

Traceback (most recent call last):
  File "/opt/ros/indigo/bin/roscore", line 69, in <module>
    import roslaunch
  File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 48, in <module>
    import rospkg
  File "/usr/lib/python2.7/dist-packages/rospkg/__init__.py", line 43, in <module>
    from .rospack import RosPack, RosStack, \
  File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 35, in <module>
    from xml.etree.cElementTree import ElementTree
  File "/usr/lib/python2.7/xml/etree/cElementTree.py", line 3, in <module>
    from _elementtree import *
ImportError: PyCapsule_Import could not import module "pyexpat"

I add the library path of my system - /lib/i386-linux-gnu - in $LD_LIBRARY_PATH in front of Matlab's lib paths. Then the problem is solved. By the way, only adding system library path in front of Matlab's paths works.

Asked by KelvinLiu on 2016-03-21 21:47:50 UTC

Comments