Celery配置SQS失败:报错‘No module named sqs’求助
解决Celery配置SQS时的ModuleNotFoundError问题
你遇到的ModuleNotFoundError("No module named 'sqs'")错误,核心原因是Celery运行SQS所需的专属依赖包没有安装到位。虽然你跟着官方指引操作了,但大概率漏掉了安装SQS扩展依赖这关键一步。
下面是具体的解决步骤:
第一步:安装Celery的SQS扩展依赖
直接通过pip安装包含SQS支持的Celery版本,这条命令会自动配齐所有和SQS相关的依赖(比如boto3等):pip install celery[sqs]务必确保你是在目标虚拟环境(比如你的
dolittle虚拟环境)中执行这条命令,避免装到全局Python环境里。第二步:验证Broker URL配置
确认Celery配置里的Broker URL格式正确,标准的SQS Broker URL写法是:broker_url = 'sqs://AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY@'如果你已经通过系统环境变量设置了
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,可以简化成:broker_url = 'sqs://'Celery会自动读取环境中的AWS认证信息。
第三步:重启Celery Worker
依赖安装完成后,一定要重启你的Celery Worker进程,让新安装的依赖生效。
如果完成这些步骤后仍有问题,可以检查虚拟环境的包列表,确认boto3和celery都已正确安装:
pip list | grep -E 'celery|boto3'
内容的提问来源于stack exchange,提问作者Logan Dean Head
相关产品推荐
相关产品推荐

