2013-05-19 2 views
0

저는 python에 익숙합니다. 오늘 저는 나무 딸기 파이를 보관 용 계정에 연결하려고합니다. 이 자습서 http://cttoronto.com/03/16/2013/raspberry-pi-dropbox-sync/을 따라했습니다. 나는 예와 cli_client.py을 사용 Python - 가져 오기 클라이언트 모듈

import cmd 
import locale 
import os 
import pprint 
import shlex 

from dropbox import client, rest, session 


APP_KEY = "XXX" 
APP_SECRET = "XXX" 

ACCESS_TYPE = "Full Dropbox" 

sess = session.DropboxSession(APP_KEY,APP_SECRET,ACCESS_TYPE) 

request_token = sess.obtain_request_token() 

url = sess.build_authorize_url(request_token) 

그런 다음 내가 스크립트를 실행 시도 등 내 응용 프로그램 ID를 삽입하지만, 다음과 같은 오류 ( sudo python cli_client.py) 도착 : 내가 잘못 뭐하는 거지

Traceback (most recent call last): 
    File "cli_client.py", line 7, in <module> 
    from dropbox import client, rest, session 
    File "/var/tmp/setuptools/dropbox-python-sdk-1.5.1/example/dropbox.py", line 7, in <module> 
    from dropbox import client, rest, session 
ImportError: cannot import name client 

를?

+0

import dropbox; 인쇄 디렉토리 (드롭 박스); – Rajeev

답변

1

스크립트는 오류에서 알 수 있듯이 '클라이언트'의 '보관 용 계정'모듈을 찾고 있습니다. 설치하지 않았거나 자습서가 잘못되었습니다 (예, 아래 참조).

Dropbox 모듈을 다운로드하여 설치했는지 확인 했습니까? 튜토리얼에는 오타가 있기 때문에 다음을 실행해야합니다.

wget https://www.dropbox.com/static/developers/dropbox-python-sdk-1.5.1.zip 

드롭 박스 파일을 다운로드하고 모듈을 생성하려면.

더 간편한 방법은 easy_install 또는 pip *을 사용하여 보관 용 모듈을 설치하는 것입니다. 다음을 시도해보십시오 것은 :

sudo pip install dropbox 
추가 - 고급 사용에 대한

, 모든 장소에 걸쳐 수백 개의 모듈을 설치하지 않도록 VIRTUALENV 및 VIRTUALENV - 래퍼를 알아 갈 수 ...하지만 그 외부 약간의 현재이 질문의 범위 ;-)

1

먼저 드롭 박스 패키지를 올바르게 설치해야합니다.

체크 아웃 pip 또는 easyinstall입니다.

sudo easy_install dropbox 

또는

sudo pip install dropbox 

패키지를 사용하여 보관 패키지를 설치 한 다음 대부분 외부 /var/tmp/setuptools/dropbox-python-sdk-1.5.1/example은 상기 반환되지한다에서 상기 코드를 실행 /usr/local/lib/python2.7/dist-packages/dropbox/

에 있어야 오류.

0

오류를 자세히 살펴보면 "dropbox.py"라는 파일에 드롭 박스 가져 오기 문이있어서 네임 스페이스 충돌이 있음을 알 수 있습니다.

File "cli_client.py", line 7, in <module> 
    from dropbox import client, rest, session 
    File "/var/tmp/setuptools/dropbox-python-sdk-1.5.1/example/dropbox.py", line 7, in <module> 
    from dropbox import client, rest, session 
ImportError: cannot import name client 

.py 파일의 이름을 foo.py와 같은 것으로 변경하면 해당 가져 오기를 계속하는 것이 좋습니다. 그러나이 문제는 API의 후속 릴리스에서 수정 된 것처럼 보입니다.

내가 처음 Dropbox API로 게임을 시작했을 때이 문제로 물어 봤고, 내 코드를 "dropbox.py"파일에 넣었습니다. ;)