Windows7双Python环境下pdfminer模块导入失败求助
解决PDFMiner导入错误:No module named pdfparser
兄弟,你这问题其实是个超级典型的文件名冲突坑!我一眼就从报错信息里看出来了——你的脚本文件名居然叫pdfminer.py,这和你要导入的PDFMiner库完全重名了!
问题根源
当你运行py -2 pdfminer.py时,Python的模块搜索顺序是先找当前脚本所在的目录(也就是C:\Users\me\Documents\myprog\),再去site-packages这些系统目录找。所以当你写from pdfminer.pdfparser import PDFParser的时候,Python误以为你要从你自己写的这个pdfminer.py文件里导入pdfparser,而不是site-packages里那个正经的PDFMiner库。你看报错信息里的路径:
File "C:\Users\me\Documents\myprog\pdfminer.py", line 4, in
from pdfminer.pdfparser import PDFParser
这就实锤了,它一直在读你自己的脚本,根本没去碰site-packages里的库文件!
快速解决步骤
- 马上给你的脚本重命名,比如改成
my_pdf_processing.py或者任何不叫pdfminer.py的名字,彻底避免和库名撞车。 - 检查当前目录下有没有生成
pdfminer.pyc文件或者__pycache__文件夹,要是有的话立刻删掉!这些是Python的缓存文件,不删的话可能还会残留旧的加载信息,导致问题反复。 - 重新运行你的脚本,比如
py -2 my_pdf_processing.py,这时候Python就会乖乖去site-packages里找正确的PDFMiner库,导入pdfparser就不会报错了。
额外验证(可选)
如果还是不放心,你可以在脚本开头加几行代码确认一下:
import sys print(sys.path)
运行后会输出Python的模块搜索路径,你能看到C:\Python27\Lib\site-packages确实在里面,这时候就完全没问题了。
内容的提问来源于stack exchange,提问作者Stephen
相关产品推荐
相关产品推荐

