You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3 urllib.request导入错误求助:Jupyter/Shell正常PyCharm报错

解决PyCharm中from urllib import request的导入错误

我一眼就揪出问题根源了——你遇到的这个导入报错,完全是脚本文件名惹的祸!

先看你的错误栈细节:

Traceback (most recent call last):
File "D:/pyProject/liao/usual/urllib.py", line 8, in
from urllib import request
File "D:\pyProject\liao\usual\urllib.py", line 8, in
from urllib import request
ImportError: cannot import name 'request'

你的脚本文件名刚好是urllib.py,和Python标准库的urllib模块重名了!当Python执行from urllib import request时,会优先加载当前工作目录下的urllib.py(也就是你自己写的脚本),而非系统自带的标准库urllib模块。但你的脚本里根本没有request这个子模块,自然就抛出了导入错误。至于Jupyter和Shell能正常运行,是因为它们的工作目录和你的脚本目录不重合,不会优先加载你重名的文件。

解决步骤:

  • 重命名脚本文件:把urllib.py改成任意不与标准库冲突的名字,比如douban_book_api.py或者urllib_test.py,只要别叫urllib.py就行。
  • 清理缓存文件:如果项目目录里有__pycache__文件夹,直接删除它——Python会缓存模块编译后的文件,残留的缓存可能还会导致奇怪的问题。
  • 重新运行脚本:做完上面两步后,回到PyCharm重新运行,此时Python会正确加载系统标准库的urllib模块,from urllib import request就能正常工作了。

验证方法(可选):

你可以在脚本开头加几行代码,确认加载的是标准库的urllib:

import urllib
print("当前加载的urllib模块路径:", urllib.__file__)

正常输出应该是Anaconda安装目录下的标准库路径,类似这样:

当前加载的urllib模块路径: D:\Program Files (x86)\Anaconda3\lib\urllib\__init__.py

如果输出还是你自己的脚本路径,说明缓存或文件名的问题没彻底解决,再检查一遍上面的步骤。

内容的提问来源于stack exchange,提问作者mathews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:09:42