Python 运行dropbox.py时出错

Python 运行dropbox.py时出错,python,dropbox,Python,Dropbox,看起来Python路径中有另一个名为collections(可能是collections.py,但也可能是一个名为collections的文件夹,其中包含一个\uuuuu init\uuuuuuuuuuuu.py)阻止导入Python 2.6collections模块。当您调用Python时,目录中可能有当前的内容——首先检查那里。否则,尝试导入python26-c系统;打印sys.path“以查看Python在哪里查找模块。您可以尝试这样做吗 test@SERVER:~/source/drop

看起来Python路径中有另一个名为
collections
(可能是
collections.py
,但也可能是一个名为
collections
的文件夹,其中包含一个
\uuuuu init\uuuuuuuuuuuu.py
)阻止导入Python 2.6
collections
模块。当您调用Python时,目录中可能有当前的内容——首先检查那里。否则,尝试导入python26-c系统;打印sys.path“以查看Python在哪里查找模块。

您可以尝试这样做吗

test@SERVER:~/source/dropbox/.dropbox-dist$ python2.6
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import namedtuple
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name namedtuple
>>> 
并确保路径为
/usr/lib/python2.6/collections.pyc
。如果没有,那么PYTHONPATH中有另一个模块来替换这个模块。如果是,请通过执行以下操作重试:

python -c 'import collections; print collections.__file__'
并向我们展示结果


通常,namedtuple已经被引入到2.6中,所以…

@kindall是正确的。.dropbox dist文件夹包含
集合。因此
会干扰dropbox.py脚本。将文件移动到其他文件夹。这里有一个方法:

python -c 'import collections; print dir(collections)'

如果在
python2.6
IDE中尝试从集合导入namedtuple,会发生什么?您可以发布IDE会话的标题吗?就我而言,我已经将dropbox.py放在了.dropbox dist/文件夹中。这是导致错误的原因。我一把它移到文件夹外,它就工作得很好。
python -c 'import collections; print dir(collections)'
mkdir cli
mv dropbox.py cli/dropbox.py
cd cli
./dropbox.py --help