celery没有找到python-dateutil,虽然已经安装了

时间:2012-09-07 17:29:40

标签: python virtualenv celery

我有一个virtualenv已激活,我正在运行一个命令

 celery -A dnslookup worker --loglevel=info

引发

Traceback (most recent call last):
File "/Users/myuser/dev/project-backend-ENV/bin/celery", line 5, in <module>
from pkg_resources import load_entry_point
File "/Users/myuser/dev/project-backend-ENV/lib/python2.7/site-packages/setuptools-   0.6c11-py2.7.egg/pkg_resources.py", line 2607, in <module>
File "/Users/myuser/dev/project-backend-ENV/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: python-dateutil>=1.5,<2.0

但是我的virtualenv中安装了python-dateutil。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

我猜你使用的dateutil版本太新了。安装dateutil到一个新的virtualenv默认情况下会得到dateutil版本2.1,这不会起作用(正如您的错误消息指出的那样)。来自Celery changelog

  

依赖列表现在明确指定我们不想要的   python-dateutil 2.x,因为这个版本只支持py3k。

     

如果你偶然安装了dateutil 2.0,你应该降级到   1.5.0版本:

pip install -U python-dateutil==1.5.0