簡體   English   中英

運行dropbox.py時出錯

[英]Error when running dropbox.py

test@SERVER:~/source/dropbox/.dropbox-dist$ ./dropbox.py      
Traceback (most recent call last):
  File "./dropbox.py", line 39, in <module>
    import urllib
  File "/usr/lib/python2.6/urllib.py", line 30, in <module>
    from urlparse import urljoin as basejoin
  File "/usr/lib/python2.6/urlparse.py", line 84, in <module>
    from collections import namedtuple
ImportError: cannot import name namedtuple

dropbox.py有755個燙發。 在系統中我有22.6版本的python。 運行python2 dropbox.pypython2.6 dropbox.py發出同樣的錯誤。

這是來自Dropbox網站的dropbox.py文件

每條評論更新:

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
>>> 

看起來你的Python路徑中有另一個名為collections模塊(可能是collections.py但也可能是一個名為collections的文件夾,里面有__init__.py ),這阻止了Python 2.6 collections模塊的導入。 當你調用Python時,可能是當前目錄中的某些內容 - 請先檢查一下。 否則試試python26 -c 'import sys; print sys.path' python26 -c 'import sys; print sys.path'查看Python在哪里尋找模塊。

@kindall是對的。 .dropbox-dist文件夾包含collections.so ,它會干擾dropbox.py腳本。 將文件移動到其他文件夾。 這是一種方式:

mkdir cli
mv dropbox.py cli/dropbox.py
cd cli
./dropbox.py --help

你能試試嗎?

python -c 'import collections; print collections.__file__'

並確保路徑為/usr/lib/python2.6/collections.pyc 如果沒有,那么你的PYTHONPATH中有另一個模塊可以替換這個模塊。 如果是,那么再試一次:

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

並告訴我們結果。

通常,namedtuple已被引入2.6所以...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM