2016-01-13 206 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更广泛的支持。) 再次感谢。 斯图尔特。 –