【问题标题】:Missing parser library (lxml) in Anaconda with Python使用 Python 在 Anaconda 中缺少解析器库 (lxml)
【发布时间】:2018-12-11 23:28:21
【问题描述】:

我已经通过 pip 安装了 Anaconda 和请求模块、bs4、lxml、selenium。

当我这样做时:

from bs4 import BeautifulSoup
soup = BeautifulSoup(txt, 'lxml')

我得到错误:

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. 

Do you need to install a parser library?

我已经发现了很多关于这个的问题,这是我尝试过的(但没有一个有效):

  1. 卸载/重新安装 lxml
  2. 下载lxml的whl文件,手动加载(我这样做的时候,说lxml已经满足了)
  3. conda install -x auto htmlparser(我收到错误消息 - packagesnotfounderror: the following packages are not available from current channels
  4. 我已检查我的 bs4 和 lxml 是否已完全升级

我不是程序员,所以请在您的回复中记住这一点,这是我第一次涉足编程世界。谢谢!

【问题讨论】:

  • “我已经通过 pip 安装了 Anaconda 和请求模块、bs4、lxml、selenium”。除了 Anaconda 附带的那个之外,你有不同的 Python 环境吗?
  • 没有必要使用 pip 安装这些软件包,因为这些软件包在 conda 频道中可用。所以conda install lxmlconda install beautifulsoup4 等应该已经完成​​了这项工作,并通过pip 避免了与现有 Python 包安装的任何冲突。
  • @user8212173 我最初尝试使用 IDLE,但遇到了问题,所以我切换到 Anaconda。除了安装我上面列出的模块之外,我没有做任何其他事情。
  • 我进行了 conda 安装 lxml,它说它有效。我重新启动并再次尝试相同的代码,但仍然出现相同的错误。
  • 我也试过“from lxml import html”,它告诉我有一个 ModuleNotFoundError: no module named 'lxml'

标签: python pip anaconda lxml


【解决方案1】:

我遇到了同样的问题,可以通过从 conda 卸载 lxml 并使用 pip 安装来解决。

这些是我用 conda 安装时的包

Name                    Version                   Build  Channel
asn1crypto                0.24.0                   py37_0
beautifulsoup4            4.7.1                    py37_1
ca-certificates           2019.1.23                     0
certifi                   2018.11.29               py37_0
cffi                      1.11.5           py37h74b6da3_1
chardet                   3.0.4                    py37_1
cryptography              2.5              py37h7a1dbc1_0
idna                      2.8                      py37_0
libiconv                  1.15                 h1df5818_7
libxml2                   2.9.9                h464c3ec_0
libxslt                   1.1.33               h579f668_0
lxml                      4.3.1            py37h1350720_0
openssl                   1.1.1a               he774522_0
pip                       19.0.1                   py37_0
pycparser                 2.19                     py37_0
pyopenssl                 19.0.0                   py37_0
pysocks                   1.6.8                    py37_0
python                    3.7.2                h8c8aaf0_2
requests                  2.21.0                   py37_0
selenium                  3.141.0          py37he774522_0
setuptools                40.8.0                   py37_0
six                       1.12.0                   py37_0
soupsieve                 1.7.1                    py37_0
sqlite                    3.26.0               he774522_0
urllib3                   1.24.1                   py37_0
vc                        14.1                 h21ff451_3    anaconda
vs2015_runtime            15.5.2                        3    anaconda
wheel                     0.32.3                   py37_0
win_inet_pton             1.0.1                    py37_1
wincertstore              0.2                      py37_0
zlib                      1.2.11               h62dcd97_3

bs4.FeatureNotFound:找不到具有您请求的功能的树生成器:lxml。是否需要安装解析器库

通过 conda 卸载并通过 pip 安装后

Name                    Version                   Build  Channel
asn1crypto                0.24.0                   py37_0
beautifulsoup4            4.7.1                    py37_1
ca-certificates           2019.1.23                     0
certifi                   2018.11.29               py37_0
cffi                      1.11.5           py37h74b6da3_1
chardet                   3.0.4                    py37_1
cryptography              2.5              py37h7a1dbc1_0
idna                      2.8                      py37_0
libiconv                  1.15                 h1df5818_7
libxml2                   2.9.9                h464c3ec_0
libxslt                   1.1.33               h579f668_0
lxml                      4.3.1                     <pip>
openssl                   1.1.1a               he774522_0
pip                       19.0.1                   py37_0
pycparser                 2.19                     py37_0
pyopenssl                 19.0.0                   py37_0
pysocks                   1.6.8                    py37_0
python                    3.7.2                h8c8aaf0_2
requests                  2.21.0                   py37_0
selenium                  3.141.0          py37he774522_0
setuptools                40.8.0                   py37_0
six                       1.12.0                   py37_0
soupsieve                 1.7.1                    py37_0
sqlite                    3.26.0               he774522_0
urllib3                   1.24.1                   py37_0
vc                        14.1                 h21ff451_3    anaconda
vs2015_runtime            15.5.2                        3    anaconda
wheel                     0.32.3                   py37_0
win_inet_pton             1.0.1                    py37_1
wincertstore              0.2                      py37_0
zlib                      1.2.11               h62dcd97_3

收集lxml 使用缓存的https://files.pythonhosted.org/packages/12/9e/316022255a2b715b0efaa967aa89119544906b3ed4f5131c1c9b6962baca/lxml-4.3.1-cp37-cp37m-win_amd64.whl 安装收集的包:lxml 成功安装lxml-4.3.1

为我工作:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-26
    • 2013-01-17
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多