已安装pyPdf模块仍提示ModuleNotFoundError:找不到'pdf'模块
问题解决方法
问题根源
pyPdf是已停止维护的老旧库,完全不兼容Python3.10。你安装的该库内部采用Python2的导入逻辑,在Python3环境下无法正确识别内部模块,因此出现ModuleNotFoundError: No module named 'pdf'错误。
解决步骤
- 卸载无效的pyPdf库
pip uninstall pyPdf -y
- 安装兼容Python3的替代库(推荐PyPDF2,是pyPdf的后续维护版本)
pip install PyPDF2
- 修改代码适配PyPDF2的API:
import io import requests from PyPDF2 import PdfReader url = 'http://www.arkansasrazorbacks.com/wp-content/uploads/2017/02/Miami-Ohio-Game-2.pdf' r = requests.get(url) f = io.BytesIO(r.content) reader = PdfReader(f) contents = reader.pages[0].extract_text().split('\n')
说明
PyPDF2的API和旧pyPdf略有差异:
- 导入类从
PdfFileReader改为PdfReader - 获取页面的方法从
getPage(0)改为pages[0] - 提取文本的方法从
extractText()改为extract_text()
内容的提问来源于stack exchange,提问作者ecee
相关产品推荐
相关产品推荐

