2016-01-13 208 views
0

我試圖在Python 3中使用Dropbox。它似乎安裝OK,但是當我嘗試導入它時,出現語法錯誤(請參閱下文)。它只支持3.4+和我使用3.2 ...我想知道是否這是問題,但我發現一個網站(在original Germanin English使用谷歌翻譯,它沒有得到格式正確),這是使用Dropbox與Python 3.2在Raspberry Pi上 - 這正是我想要做的。在Python 3中使用導入Dropbox時的語法錯誤

在此先感謝 - 任何幫助或建議,將不勝感激。

[email protected] ~ $ sudo pip-3.2 install --upgrade dropbox 
Requirement already up-to-date: dropbox in /usr/local/lib/python3.2/dist-packages/dropbox-4.0-py3.2.egg 
Requirement already up-to-date: urllib3 in /usr/local/lib/python3.2/dist-packages (from dropbox) 
Requirement already up-to-date: requests>=2.5.1 in /usr/local/lib/python3.2/dist-packages (from dropbox) 
Requirement already up-to-date: six>=1.3.0 in /usr/local/lib/python3.2/dist-packages (from dropbox) 
Cleaning up... 

[email protected] ~ $ python3.2 
Python 3.2.3 (default, Mar 1 2013, 11:53:50) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

>>> import dropbox 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python3.2/dist-packages/dropbox-4.0-py3.2.egg/dropbox/__init__.py", line 3, in <module> 
    from .dropbox import __version__ 
    File "/usr/local/lib/python3.2/dist-packages/dropbox-4.0-py3.2.egg/dropbox/dropbox.py", line 19, in <module> 
    from .base import DropboxBase 
    File "/usr/local/lib/python3.2/dist-packages/dropbox-4.0-py3.2.egg/dropbox/base.py", line 7, in <module> 
    from . import (
    File "/usr/local/lib/python3.2/dist-packages/dropbox-4.0-py3.2.egg/dropbox/files.py", line 5157 
    Metadata._parent_shared_folder_id_validator = bv.Nullable(bv.String(pattern=u'[-_0-9a-zA-Z:]+')) 
                           ^
SyntaxError: invalid syntax 
+1

Python 3.2不支持'u'...'字符串文字語法,不。至少升級到3.3。 –

+0

似乎該庫與3.2不兼容,它是一個更新的版本(3.3或3.4),重新引入了u「」字符串符號。 – RemcoGerlich

+0

博客文章沒有詳細說明他們如何設法擺脫這個要求。也許在2015年5月,該庫仍然在Python 3.2上工作。 –

回答

0

所提供的收存箱的Python SDK的當前版本使用u'...'符號來定義的Unicode文字。這是Python 3.3中引入的一種語法,用於幫助編寫適用於Python 2和Python 3的代碼。

博客文章沒有詳細說明他們如何設法滿足最低要求;我只能認爲該庫已更新,以利用較新的Python功能在發佈帖子發佈後簡化多語種Python代碼

當前dropbox包版本爲4.0;請查看simple pypi page for the package上的版本,看看早期版本是否適合您。

雖然我不確定使用的博客版本是否可用。 Version 3.12於2015年8月發佈到PyPI,2015年5月之後(發佈博客文章時)如此之好,並且已經需要Python 3.3或更高版本(由initial API v2 commit on Github來判斷)。下一個較早版本是version 2.2.0,該版本可追溯到2014年9月,並使用Dropbox API版本1.

+0

嗨Martijn,Remco, 謝謝,這顯然是問題。看起來好像我需要升級Python(不幸的是,「正確」的方式來實現這一點意味着安裝新版本的操作系統......但至少這會給我Python 3.4,這似乎比3.2更廣泛的支持。) 再次感謝。 斯圖爾特。 –