使用feedparser解析RSS feed触发AttributeError问题求助
解决feedparser模块的AttributeError(循环导入问题)
问题重现
运行以下Python代码解析RSS feed:
import feedparser Feed = feedparser.parse('http://www.reddit.com/r/python/.rss') pointer = Feed.entries[1] print(pointer.summary) print(pointer.link)
触发错误:
AttributeError: partially initialized module 'feedparser' has no attribute 'version' (most likely due to a circular import)
Mac系统下,Idle和终端运行均出现该问题。
解决办法
- 检查脚本文件名:确保你的脚本文件名不是
feedparser.py——Python会优先加载同目录下的同名脚本,而非第三方库,这是引发循环导入的常见原因。如果是,将脚本重命名为rss_parser.py这类名称,同时删除同目录下的feedparser.pyc文件或__pycache__文件夹。 - 验证并重装feedparser:
- 在终端执行
pip show feedparser,确认库已正确安装。 - 若未安装,执行
pip install feedparser完成安装;若已安装,尝试卸载后重装:pip uninstall feedparser -y pip install feedparser
- 在终端执行
- 统一Python环境:确认Idle和终端使用的是同一个Python环境。终端执行
which python,Idle中运行import sys; print(sys.executable),对比两者路径是否一致。若不一致,切换到同一环境运行脚本(比如用python3替代python执行)。 - 清理缓存文件:删除项目目录下的
__pycache__文件夹,以及可能存在的.pyc缓存文件,避免旧缓存干扰。
内容的提问来源于stack exchange,提问作者ghulseman
相关产品推荐
相关产品推荐

