Python3运行报错ImportError: No module named queue问题求助
Python3导入queue模块触发ImportError解决方案
- 优先排查运行环境版本问题
该报错90%以上场景是实际运行代码时调用的是Python2解释器,Python2的队列模块名为首字母大写的Queue,Python3才调整为小写queue。
验证方式:执行你运行代码时用的Python命令加版本参数,比如你平时用python main.py就执行:
如果输出为Python 2.x版本,要么使用python --versionpython3 main.py运行代码,要么调整本地默认Python绑定指向Python3即可。如果此前运行正常,大概率是当前虚拟环境未激活、或者近期调整过系统Python环境变量导致默认解释器切换。 - 排查是否存在同名文件覆盖
如果当前项目目录、或者Python导入路径下存在你自己编写的queue.py文件、或者queue.pyc缓存文件,会优先导入该文件覆盖标准库模块。
排查方式:扫描项目目录下所有文件名含queue的py文件,将自定义的queue.py重命名为其他名称(如my_queue.py),同时删除项目目录下的__pycache__文件夹清除缓存后重试。 - 排查标准库导入路径异常
执行以下代码查看Python导入路径:
确认输出列表中包含Python3标准库的安装路径(Windows一般为import sys print(sys.path)C:\Python3x\Lib,Linux/macOS一般为/usr/lib/python3.x/或虚拟环境对应的lib/python3.x/site-packages上级目录),如果缺失则是PYTHONPATH环境变量被篡改,恢复环境变量配置即可。
补充说明:
import queue as Queue是Python3下兼容Python2写法的操作,本身不能解决解释器版本不对的问题,如果需要同时兼容双版本可以使用以下兼容代码:try: import queue except ImportError: import Queue as queue
内容的提问来源于stack exchange,提问作者schniggo
相关产品推荐
相关产品推荐

