Python报错‘websockets is not a package’但已在sys.path及pip列表中
问题:ModuleNotFoundError: No module named 'websockets.asyncio'; 'websockets' is not a package
运行websockets教程代码时遇到以下错误:
ModuleNotFoundError: No module named 'websockets.asyncio'; 'websockets' is not a package
尝试了现有相关问题的所有解决方案,仍未解决。
我的代码
import asyncio import sys from websockets.asyncio.server import serve async def handler(websocket): while True: message = await websocket.recv() print(message) async def main(): async with serve(handler, "", 8001): await asyncio.get_running_loop().create_future() # run forever if __name__ == "__main__": asyncio.run(main())
已完成的排查步骤
- 确认Python包查找路径:打印
sys.path输出:
['/Users/taylorwofford/Desktop', '/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages', '/Library/Frameworks/Python.framework/Versions/3.13/lib/python313.zip', '/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13', '/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/lib-dynload']
- 检查site-packages目录,确认websockets包存在:
taylorwofford@Taylors-Air ~ % cd /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages taylorwofford@Taylors-Air site-packages % ls Django-5.1.2.dist-info pip-24.2.dist-info README.txt sqlparse asgiref sqlparse-0.5.1.dist-info asgiref-3.8.1.dist-info websockets <--- 在此处!!! django websockets-13.1.dist-info pip
验证Python版本一致性:
- 当前终端运行版本:
taylorwofford@Taylors-Air site-packages % python3 --version Python 3.13.0 - 脚本使用的版本:添加
print(sys.version_info)后输出:sys.version_info(major=3, minor=13, micro=0, releaselevel='final', serial=0)
- 当前终端运行版本:
确认websockets已安装:运行
python3 pip list输出:
taylorwofford@Taylors-Air site-packages % python3 pip list Package Version ----------------- asgiref 3.8.1 Django 5.1.2 pip 24.2 sqlparse 0.5.1 websockets 13.1 <--- 在此处!
已检查Python版本一致性、确认包已通过pip3安装且位于sys.path目录中,但问题仍未解决,求下一步解决方案。
内容的提问来源于stack exchange,提问作者Taylor Wofford
相关产品推荐
相关产品推荐

