运行uvicorn时报pkg_resources.DistributionNotFound缺少uvloop>=0.14.0依赖如何解决
问题原因
Uvicorn在类Unix系统(Linux、macOS)下默认采用uvloop作为高性能事件循环实现,你当前运行Uvicorn的Python环境中,未安装满足版本要求(≥0.14.0)的uvloop依赖包,因此启动时触发依赖校验失败报错。
解决方法
根据你的使用需求选择对应方案即可:
保留uvloop提升性能
执行对应pip命令安装符合要求的uvloop版本:
全局环境安装:pip install 'uvloop>=0.14.0'
如果出现权限报错,可改为安装到当前用户目录:pip install --user 'uvloop>=0.14.0'
如果使用虚拟环境,需先激活对应虚拟环境再执行上述命令。不使用uvloop,临时规避依赖
启动Uvicorn时指定使用Python标准库自带的asyncio事件循环,无需安装uvloop即可正常运行:uvicorn --loop asyncio 你的应用模块名:app实例名
如果是代码内启动Uvicorn,在实例化Uvicorn对象时添加loop="asyncio"参数即可。
内容的提问来源于stack exchange,提问作者Nikit Patel
相关产品推荐
相关产品推荐

