最近在用Python程序解析网页的时候,使用BeautifulSoup库( 版本4需 from bs4 import BeautifulSoup),在安装正确后,运行写好的文件时,总是出现 ImportError: cannot import name BeautifulSoup,一开始以为是搜索路径的问题,用sys.path查看搜索路径,包含bs4库的路径。
最后发现问题是,在执行文件的当前目录下,有一个名为bs4.py(当时测试bs4模块用的)的文件,所以当Python运行当前文件时,会先在当前目录下搜索,就会先导入这个叫bs4的文件,然后再去搜索其它路径,导入标准库里面的bs4 。在当前的文件bs4中肯定找不到BeautifulSoup,故不断报错。(警示:切勿在当前搜索路径中,将文件命名为已有库、模块相同的名字)
可以使用:
import bs4
print bs4.__file__
去看打印出的文件路径,如果不是下面类似的C:\Python27\lib\site-packages\....,需要把当前目录下的重名的文件删除或者重命名。