2015-01-25 4 views
4

라는 이름의 모듈 : 내가 필요한 라이브러리의 경로를 추가 한ImportError를 : 나는 도약 모션 컨트롤러 작업을 시작하고 내 코드를 실행하려고 할 때 나는이 오류 얻을 도약

ImportError: No module named Leap 

import sys 
sys.path.append("usr/lib/Leap:/path/to/lib/x86:/path/to/lib") 
import thread, time 
from Leap import CircleGesture, KeyTapGesture, ScreenTapGesture, SwipeGesture 

내가 뭘 잘못하고 있니? 나는 리눅스 플랫폼에서 작업하고

: 우분투 13.10, 32 비트

+0

http://stackoverflow.com/questions/3992952/importerror-no-module-named-in-python이 질문/답변을 확인합니다. 또한 https://github.com/openleap/PyLeapMouse/issues/16 – GLHF

답변

3

당신은 경로가 콜론 목록 아닌 엔트리 파이썬의 sys.path 저장소로이 같은 콜론 구분 된 경로 목록을 추가 할 수 없습니다 구분 된 목록. 각 폴더는 별도로 추가해야합니다. 또한 usr/lib/Leap은 선행 슬래시가 누락 된 것으로 보입니다. 이 같은

뭔가 작업을해야합니다 :

sys.path.append("/usr/lib/Leap") 
sys.path.append("/path/to/lib/x86") 
sys.path.append("/path/to/lib") 

또는이 :

sys.path += ["/usr/lib/Leap", "/path/to/lib/x86", "/path/to/lib"] 
0

sys.path이 문자열이 아닌, 그것은 문자열 목록입니다. 따라서 개별 경로 문자열을 추가하지 하나의 pathsep로 구분 된 문자열 :

sys.path.append("/usr/lib/Leap") 
sys.path.append("/path/to/lib/x86") 
sys.path.append("/path/to/lib") 

는 또한 당신이 다른 목록에 추가하여 목록을 extend 수있는 문자열을 - 예를 들어, 당신이 당신의 문자열에 split를 호출하여 얻을 목록 :

하지만 추가하기 전에 각 문자열이 경로에 이미 있는지 확인해야합니다. 그렇지 않으면 반복되는 호출로 경로가 무한히 길고 중복됩니다. 예를 들어 :

for p in "/usr/lib/Leap:/path/to/lib/x86:/path/to/lib".split(":"): 
    if p not in sys.path: sys.path.append(p) 
관련 문제