2010-10-29 54 views
0

當試圖與節拍調度運行Django的芹菜:使用python 2.6.5破壞ubuntu 10.04上的anydbm.py?

bin/django celeryd -B --settings=app.development --loglevel=INFO 

我得到這個異常:

Process Beat: 
Traceback (most recent call last): 
File "/usr/local/lib/python2.6/dist-packages/multiprocessing/process.py", line 237, in _bootstrap 
self.run() 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 388, in run 
self.service.start(embedded_process=True) 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 318, in start 
humanize_seconds(self.scheduler.max_interval))) 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 358, in scheduler 
self._scheduler = self.get_scheduler() 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 350, in get_scheduler 
lazy=lazy) 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/utils/__init__.py", line 362, in instantiate 
return get_cls_by_name(name)(*args, **kwargs) 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 270, in __init__ 
Scheduler.__init__(self, *args, **kwargs) 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 146, in __init__ 
self.setup_schedule() 
File "/home/user/eggs/celery-2.1.1-py2.6.egg/celery/beat.py", line 273, in setup_schedule 
self._store = self.persistence.open(self.schedule_filename) 
File "/usr/lib/python2.6/shelve.py", line 239, in open 
return DbfilenameShelf(filename, flag, protocol, writeback) 
File "/usr/lib/python2.6/shelve.py", line 223, in __init__ 
Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback) 
AttributeError: 'module' object has no attribute 'open' 

我自己的調查使我發現了anydbm Python模塊在

/usr/lib/python2.6/anydbm.py 
發現

是一個空文件。但python2.6.5 doc說有一個

anydbm.open(filename[, flag[, mode]]) 

方法。

我錯過了什麼嗎?我認爲anydbm [ubuntu] python模塊已損壞。

我使用:

  • 的Ubuntu 10.04

  • 的Python 2.6.5

  • Django的芹菜2.1.1

  • 芹菜擴建安裝

回答

0

如果/usr/lib/python2.6/anydbm.py對你來說是一個空文件,那麼是的,你的安裝被破壞了。 /usr/lib/python2.6/anydbm.py是正確的文件,其中的內容在我的Ubuntu 10.04系統上安裝了python2.6_2.6.5-1ubuntu6。您需要確保安裝了最新的軟件包,並可能重新安裝。

+0

重新安裝python2.6修正了這個錯誤。 我用這個命令:apt-get install --reinstall python2.6 但是,這怎麼可能發生呢仍然是一個謎。 – univ 2010-10-29 09:28:35

+0

有些東西覆蓋了文件。文件系統損壞,粗心的root進程,更新期間磁盤已滿,誰知道。 – 2010-10-29 09:57:34