ubuntu 16.04 ros kinetic Moveit Python: ImportError: cannot import name structs

6731 단어 issueros
moveit python binding 을 사용 할 때 다음 과 같은 문제 가 발생 했 습 니 다.
Traceback (most recent call last):
  File "./moveit_plan.py", line 6, in <module>
    import moveit_commander
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_commander/__init__.py", line 3, in <module>
    from planning_scene_interface import *
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_commander/planning_scene_interface.py", line 48, in <module>
    import pyassimp
  File "/usr/lib/python2.7/dist-packages/pyassimp/__init__.py", line 1, in <module>
    from .core import *
  File "/usr/lib/python2.7/dist-packages/pyassimp/core.py", line 23, in <module>
    from . import structs
ImportError: cannot import name structs

이 문 제 는 pyassimp 의 bug 로 확인 되 었 습 니 다.see link:https://github.com/ros-planning/moveit/issues/86
pyassimp 를 다시 설치 하여 이 문 제 를 해결 합 니 다(pip 설치 에 문제 가 발생 하면 다음 pip 의 업 그 레이 드 를 보십시오).
sudo pip uninstall pyassimp
and then,
sudo pip install pyassimp ,

pyassimp 를 설치 한 후 나타 나 면:
python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyassimp
Traceback (most recent call last):
  File "", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/pyassimp/__init__.py", line 1, in <module>
    from .core import *
  File "/usr/lib/python2.7/dist-packages/pyassimp/core.py", line 29, in <module>
    class AssimpLib(object):
  File "/usr/lib/python2.7/dist-packages/pyassimp/core.py", line 33, in AssimpLib
    load, load_mem, release, dll = helper.search_library()
ValueError: need more than 3 values to unpack
>>> 

코드 를 수정 해 야 합 니 다/usr/lib/python2.7/dist-packages/pyassimp/core.py.
 
load, load_mem, release, dll = helper.search_library()
   
load_mem, release, dll = helper.search_library()

이 문 제 를 해결 하 는 과정 에서 pip 업그레이드 문제 도 만 났 습 니 다.
guowei@guowei-desktop:~$ pip install --upgrade pip
Collecting pip
  Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

아마도 내 가 pip 를 설치 할 때 명령sudo apt-get install python-pip을 통 해 설치 한 것 이지 get-pip.py 를 통 해 설치 한 것 이 아니 기 때 문 일 것 이다.그리고 apt 시스템 이 업그레이드 작업 을 막 았 습 니 다.해결 방법 은 python-pipsudo apt-get remove python-pip를 마 운 트 해제 한 다음 get-pip.py 를 통 해 pip 를 다시 설치 하 는 것 입 니 다.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

pip 를 다시 설치 하면 시스템 에서 새로 설 치 된 pip 를 찾 을 수 없습니다.
$ pip
-bash: /home/guowei/.local/bin/pip: No such file or directory

이 경우 다음 명령 을 실행 하여 cache 해결 을 새로 고 칩 니 다.
hash -r

좋은 웹페이지 즐겨찾기