我正在尝试使用Dropbox和Python 3.它似乎安装好但是当我尝试导入它时,我收到语法错误(见下文)。它仅支持3.4+并且我使用3.2 ...我想知道这是否是问题但是我找到了一个网站(在使用谷歌翻译的original German或in English中无法获得格式非常正确)在Raspberry Pi上使用Dropbox和Python 3.2 - 这正是我想要做的。
提前致谢 - 我们将不胜感激任何帮助或建议。
pi@jsmd ~ $ 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...
pi@jsmd ~ $ 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
答案 0 :(得分:0)
提供的Dropbox Python SDK的当前版本使用u'...'
表示法来定义Unicode文字。这是Python 3.3中引入的语法,用于帮助编写适用于Python 2和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.