鱼C论坛

 找回密码
 立即注册
查看: 2260|回复: 12

[已解决]ImportError: cannot import name 'NoReturn'

[复制链接]
发表于 2023-4-16 13:30:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

linux 中 python-3.6.1  导入celery时报错,ImportError: cannot import name 'NoReturn',要怎么解决,使用的celery版本是 5.1.2
最佳答案
2023-4-16 13:34:28
这个问题是由于Celery 5.1.2不兼容Python 3.6.1导致的。您可以尝试升级Python版本或降级Celery版本来解决这个问题。

这个命令可以让你安装到兼容的 Celery 版本:
pip install Celery --only-binary Celery -i https://mirrors.aliyun.com/pypi/simple
下载.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-16 13:32:01 | 显示全部楼层
这是因为 Celery 5.x 版本中不再支持 NoReturn 类型,但是 Python 3.6 中还需要使用它来支持类型提示。解决方案是将使用 NoReturn 的代码替换为直接使用 None,或者升级到 Python 3.7 及以上版本。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:34:28 | 显示全部楼层    本楼为最佳答案   
这个问题是由于Celery 5.1.2不兼容Python 3.6.1导致的。您可以尝试升级Python版本或降级Celery版本来解决这个问题。

这个命令可以让你安装到兼容的 Celery 版本:
pip install Celery --only-binary Celery -i https://mirrors.aliyun.com/pypi/simple
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-16 13:38:38 | 显示全部楼层
isdkz 发表于 2023-4-16 13:34
这个问题是由于Celery 5.1.2不兼容Python 3.6.1导致的。您可以尝试升级Python版本或降级Celery版本来解决这 ...

用你这个命令,安装的celery 版本就是5.1.2,还是报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:42:40 | 显示全部楼层
xyh2695368537 发表于 2023-4-16 13:38
用你这个命令,安装的celery 版本就是5.1.2,还是报错

pip -V 看看默认的pip命令是不是属于python3.6.1的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-16 13:43:14 | 显示全部楼层
isdkz 发表于 2023-4-16 13:34
这个问题是由于Celery 5.1.2不兼容Python 3.6.1导致的。您可以尝试升级Python版本或降级Celery版本来解决这 ...

解决了解决了,手动指定版本4.1.0,就不会报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:46:10 | 显示全部楼层
xyh2695368537 发表于 2023-4-16 13:43
解决了解决了,手动指定版本4.1.0,就不会报错了

明明我是最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:53:01 | 显示全部楼层
xyh2695368537 发表于 2023-4-16 13:43
解决了解决了,手动指定版本4.1.0,就不会报错了

解决了就好,我刚刚的命令有一个疏忽,有兼容问题的是Celery的依赖库 prompt-toolkit

所以 --only-binary 应该指定的是 prompt-toolkit 或 :all:

所以用

pip install Celery --only-binary prompt-toolkit -i https://mirrors.aliyun.com/pypi/simple

或者

pip install Celery --only-binary :all: -i https://mirrors.aliyun.com/pypi/simple

来安装就没有问题了,这样 pip 会帮你找到合适的版本,就不用自己去试哪个版本可以用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-16 13:53:30 | 显示全部楼层

不好意思,不好意思,这个帖子不会自动刷新回复,刚刚只看到他的回复,他也说了版本不匹配,我就给他了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:56:41 | 显示全部楼层
xyh2695368537 发表于 2023-4-16 13:53
不好意思,不好意思,这个帖子不会自动刷新回复,刚刚只看到他的回复,他也说了版本不匹配,我就给他了{: ...

ctrl+f5
@Twilight6 请问可否……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 13:57:46 | 显示全部楼层


什么“ Celery 5.x 版本中不再支持 NoReturn 类型,但是 Python 3.6 中还需要使用它来支持类型提示”就是瞎说,他那个python3.6的版本太低才引入不了 NoReturn 的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 14:16:02 | 显示全部楼层
isdkz 发表于 2023-4-16 13:53
解决了就好,我刚刚的命令有一个疏忽,有兼容问题的是Celery的依赖库 prompt-toolkit

所以 --only-bin ...


好吧,我刚刚试了一下二进制编译版本也有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-17 09:12:53 | 显示全部楼层
isdkz 发表于 2023-4-16 14:16
好吧,我刚刚试了一下二进制编译版本也有问题


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 17:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表