不能导入美丽的汤

时间:2015-04-27 22:57:08

标签: python beautifulsoup

我正在尝试使用BeautifulSoup,尽管使用了import语句:

from bs4 import BeautifulSoup

我收到错误:ImportError: cannot import name BeautifulSoup

import bs4不会出错。

我还尝试了import bs4.BeautifulSoup并导入了bs4并使用以下内容创建了一个BeautifulSoup对象:bs4.BeautifulSoup()

任何指导都将不胜感激。

12 个答案:

答案 0 :(得分:8)

问题是我将文件命名为HTMLParser.py,并且该名称已在bs4模块中的某处使用过。

感谢所有帮助过的人!

答案 1 :(得分:5)

确保运行脚本的目录中没有名为bs4.py的文件名。

答案 2 :(得分:3)

我通过安装beautifulsoup4解决了它,“4”是必不可少的。

pip install beautifulsoup4

答案 3 :(得分:3)

在尝试解决ImportError: cannot import name 'BeautifulSoup4'后,我发现该软件包实际上被称为BeautifulSoup,因此导入应为:

from bs4 import BeautifulSoup

答案 4 :(得分:1)

我遇到了这个问题的变种,并发布消息以使他人受益。

我将我的Python示例脚本命名为bs4.py

在此脚本中,每当尝试使用以下命令导入bs4时:

from bs4 import BeautifulSoup,抛出了ImportError,但令人困惑的(对我而言)导入是在同一venv环境中从交互式shell完美进行的。

重命名Python脚本后,导入将按预期进行。该错误是由于Python尝试从本地目录而不是使用bs4的系统副本导入自身而引起的

答案 5 :(得分:1)

bs4 beautifulsoup4-4.6.0.dist-info C:\ python \ Lib \ site-packages 复制到本地项目目录。它为我工作。在这里,python实际上是在本地目录中查找该库,而不是在该库的安装位置!

答案 6 :(得分:1)

bs4 beautifulsoup4 文件夹可能位于 site-packages文件夹中。因此,复制bs4中的BeautifulSoup4文件夹,然后尝试以下代码。它为我工作。

#include<iostream>
using namespace std;
int main(){
    const int size = 20;
    int *num = new int[size];
    char answer;
    int count = 1;
    while(true){
    cout<<"ENTER NUMBER: \n";
    cin>>num[count-1];
    cout<<"TRY AGAIN? ";
    cin>>answer;
        switch(answer){
            case 'y':
                count++;
                system("cls");
                break;
            default:

                cout<<"INPUT HISTORY: \n";
                for(int i=0;i<=count-1;i++){
                    cout<<num[i]<<endl;
                }
                count++;
        }
    }
    delete [] num;
    return 0;
}

由于您是从bs4导入BeautifulSoup的,因此在bs4中没有BeautifulSoup文件夹。这就是为什么它显示from bs4 import BeautifulSoup

答案 7 :(得分:0)

即使在安装了所有必需的模块(包括pip安装bs4之后,我也一开始就遇到了此类错误(如果已安装,则无需安装beautifusoup4 | BeautifulSoup4通过pipbs4本身附带的其他任何地方)

解决方案:只需转到安装了Python文件C:\python\Lib\site-packages 然后复制bs4beautifulsoup4-4.6.0.dist-info文件夹,并将其粘贴到保存了工作项目的项目文件夹中。

答案 8 :(得分:0)

可能的原因之一:如果您安装了多个python版本,并且假设您使用pip3安装了beautifulsoup4,则只有在python3 shell中运行它时,才能将其导入。

答案 9 :(得分:0)

软件包没有问题,只需要复制 bs4 beautifulsoup4-4.6.0.dist-info 进入您的项目目录

答案 10 :(得分:0)

当我使用

pip3 install beautifulsoup4

代替

pip install beautifulsoup4

它返回所有要求都已经满足但我再次运行它并且它起作用了,我使用的是使用 python 3.8.10 的 virtualenv,我真的不知道它背后的逻辑但是嘿它起作用了。

答案 11 :(得分:-1)

解决的最佳方法是,在创建解释器时,选择系统(/usr/local/bin/python3.7)上的全局python路径。 确保在pycharm shell中,python --version显示为3.7。它不应该显示2.7