我有一个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。
我该如何解决这个问题?
答案 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