4

我正在尝试按照“芹菜的第一步”文档中的示例进行操作。我已经使用 pip 安装了 Celery。

我在 ~/python/celery 中创建了一个名为 tasks.py 的文件,它包含以下内容:

from celery import Celery

celery = Celery('tasks', broker='amqp://guest@localhost//')

@celery.task
def add(x, y):
    return x + y

我在 ~/python/celery 目录中使用 celery -A tasks worker --loglevel=info 启动了一个工人,它似乎正在运行。

在一个单独的终端窗口中,我启动了 Python 并运行了以下命令:

from tasks import add
add.delay(4, 4)

我收到错误:文件“/Library/Python/2.7/site-packages/celery/utils/timeutils.py”,第 17 行,在 from dateutil import tz ImportError: No module named dateutil

如何安装 dateutils?当我输入“pip freeze”时,它被列为已安装的模块

谢谢!

4

2 回答 2

3

这很奇怪,因为您说您可以看到它与pip.

我刚刚跑pip freeze | grep date了,这就是我得到的:

python-dateutil==1.5

你的反应是不是类似的?运行以下命令:

$ python
>>> import dateutil
>>> help(dateutil)

我被告知我的dateutil模块安装在/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/__init__.py(OS X)中。我会检查你的 Python 安装以确保没有出错。应该不需要单独安装它,但是您也许可以使用 pip 卸载然后重新安装

于 2013-05-21T17:22:10.633 回答
2

Python3 也有同样的问题,尽管当我尝试安装它时,一条消息说它已经存在。所以修复是:

sudo pip3 uninstall python-dateutil
sudo pip3 install python-dateutil

正如这里建议的那样。

于 2018-08-08T16:46:41.623 回答