【问题标题】:ImportError: lxml not found, please install itImportError:找不到lxml,请安装它
【发布时间】:2019-01-11 05:24:34
【问题描述】:

我正在使用 udemy 上的 jupyter notebook 工作,这个主题是关于 pandas,我收到以下错误消息的问题之一:

ImportError                               Traceback (most recent call last)
<ipython-input-6-dc8b64eb545d> in <module>()
----> 1 df = pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')

c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, tupleize_cols, thousands, encoding, decimal, converters, na_values, keep_default_na, displayed_only)
    985                   decimal=decimal, converters=converters, na_values=na_values,
    986                   keep_default_na=keep_default_na,
--> 987                   displayed_only=displayed_only)

c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32\lib\site-packages\pandas\io\html.py in _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs)
    791     retained = None
    792     for flav in flavor:
--> 793         parser = _parser_dispatch(flav)
    794         p = parser(io, compiled_match, attrs, encoding, displayed_only)
    795 

c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32\lib\site-packages\pandas\io\html.py in _parser_dispatch(flavor)
    749     else:
    750         if not _HAS_LXML:
--> 751             raise ImportError("lxml not found, please install it")
    752     return _valid_parsers[flavor]
    753 

ImportError: lxml not found, please install it

(我用的是python 3.7,我已经下载了anaconda)

然后我尝试使用以下命令在命令提示符下安装 lxml:

pip3 install lxml

但是我收到此错误消息:

Command "c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\PHILLI~1.DES\\AppData\\Local\\Temp\\pip-install-i762jowc\\lxml\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\PHILLI~1.DES\AppData\Local\Temp\pip-record-z7kvhhca\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\PHILLI~1.DES\AppData\Local\Temp\pip-install-i762jowc\lxml\

我不确定如何解决这个问题。

【问题讨论】:

  • 您确定c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32 是您的anaconda 附带的python 版本吗?如果没有,则将其删除并确保您的 anaconda 在您的 PATH 中
  • 也将它作为一个错误提交给 Udemy:他们应该告诉如何安装 lxml。问题是 lxml 也需要一个 C 库; pip 不会安装它。尝试使用conda 代替:conda install lxml
  • 你用 Anaconda 吗?

标签: python pandas lxml


【解决方案1】:

从那里打开 Anaconda Navigator 单击 Environments 选择您当前正在使用的环境并从那里安装包。原因是你的 jupyter notebook 没有使用你默认的 python 安装。并且在终端中仅使用 pip3 命令而不切换到正确的环境将不起作用。另外,我在从 Anaconda 终端安装时遇到了一些问题。

编辑

从导航器安装还将安装所有需要的依赖项,包括 C 库。这确实是在 jupyter/Anaconda 项目中管理包的最简单方法。

EDIT2

从您的 cmets 中,我感觉您的 jupyter notebook 使用了不同的 python 环境。 Anaconda 附带 python 3.6 而不是 3.7。加上错误中的路径:

Command "c:\users\phillip.desktop-did4ci8\appdata\local\programs\python\python37-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\PHILLI~1.DES\\AppData\\Local\\Temp\\pip-install-i762jowc\\lxml\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\PHILLI~1.DES\AppData\Local\Temp\pip-record-z7kvhhca\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\PHILLI~1.DES\AppData\Local\Temp\pip-install-i762jowc\lxml\

建议与 Anaconda 基地(根)不同的环境。尝试从导航器中使用 jupyter,这将确保您使用的是正确的环境

【讨论】:

  • 那里只有一个环境,base(root),上面安装了lxml。
  • 尝试从那里重新安装它,您之前的尝试可能会破坏某些东西
  • 还有一个问题 Anconda 没有随 python 3.7 一起提供,你怎么可能在 jupyter 中使用它?尝试从导航器启动 jupyter
  • 谢谢,通过 anaconda 导航器运行它修复了这个问题,我不确定为什么我在通过命令提示符运行 jupyter 时遇到这个问题
  • 正如我的回答中所说,从终端运行它使用您的默认环境,即 python 3.7,而不是来自 Anaconda 的环境
【解决方案2】:

使用anaconda环境安装缺失的包。

步骤:

  1. 转到 anaconda 控制台
  2. 确保切换到页面顶部“Applications on”右侧栏上用于运行脚本的环境。
  3. 点击左侧栏中的环境
  4. 键入包的名称 - “lxml” - 在这种情况下
  5. 将下拉按钮从“已安装”切换为“未安装”
  6. 包裹出现后,勾选复选框
  7. 点击屏幕底部的应用
  8. 安装后,返回您的页面并重新启动 jupyter notebook。

这应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 2021-09-01
    • 2011-04-07
    • 2015-01-16
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多