ImportError: нет модуля с именем dateutil
Я пытаюсь следовать примеру в документе "Первые шаги с сельдереем". Я установил сельдерей с помощью пипса.
Я создал файл tasks.py в ~/python/celery, и он содержит следующее:
from celery import Celery
celery = Celery('tasks', broker='amqp://guest@localhost//')
@celery.task
def add(x, y):
return x + y
Я запустил рабочий с помощью сельдерея -A задачник --loglevel=info, находясь в каталоге ~/python/celery, и он, кажется, работает.
В отдельном окне терминала я запустил Python и запустил следующее:
from tasks import add
add.delay(4, 4)
Я получаю сообщение об ошибке: Файл "/Library/Python/2.7/site-packages/celery/utils/timeutils.py", строка 17, из dateutil import tz ImportError: Нет модуля с именем dateutil
Как мне установить dateutils? Он указан как установленный модуль, когда я набираю "pip freeze"
Спасибо!
2 ответа
Это странно, так как вы говорите, что можете видеть его как установленный с 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 для удаления, а затем переустановить
У меня была та же проблема с Python3, хотя когда я пытался установить его, в сообщении говорилось, что это уже было. Итак, исправление было:
sudo pip3 uninstall python-dateutil
sudo pip3 install python-dateutil
Как предлагается здесь.