首页 > 解决方案 > ImportError:找不到lxml,请安装它

问题描述

我正在使用 udemy 上的 jupyter 笔记本,这个主题是关于熊猫的,关于我收到此错误消息的问题之一:

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\

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

标签: pythonpandaslxml

解决方案


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

编辑

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

编辑2

从您的评论中,我感觉您的 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,这将确保您使用正确的环境


推荐阅读