一开始直接用pip安装:
pip3 install lxml
结果报错:
Collecting lxml Using cached lxml-4.2.1.tar.gz Installing collected packages: lxml Running setup.py install for lxml ... error Complete output from command c:\python37\python3.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\r\\AppData\\Local\\Temp\\pip-build-knkm18ss\\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\r\AppData\Local\Temp\pip-io7fp1ny-record\install-record.txt --single-version-externally-managed --compile: Building lxml version 4.2.1. Building without Cython. ERROR: b"'xslt-config' \xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee\xa3\xac\xd2\xb2\xb2\xbb\xca\xc7\xbf\xc9\xd4\xcb\xd0\xd0\xb5\xc4\xb3\xcc\xd0\xf2\r\n\xbb\xf2\xc5\xfa\xb4\xa6\xc0\xed\xce\xc4\xbc\xfe\xa1\xa3\r\n" ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt running install running build running build_py creating build creating build\lib.win-amd64-3.7 creating build\lib.win-amd64-3.7\lxml copying src\lxml\builder.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\cssselect.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\doctestcompare.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\ElementInclude.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\pyclasslookup.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\sax.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\usedoctest.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\_elementpath.py -> build\lib.win-amd64-3.7\lxml copying src\lxml\__init__.py -> build\lib.win-amd64-3.7\lxml creating build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\__init__.py -> build\lib.win-amd64-3.7\lxml\includes creating build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\builder.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\clean.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\defs.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\diff.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\ElementSoup.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\formfill.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\html5parser.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\soupparser.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\usedoctest.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\_diffcommand.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\_html5builder.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\_setmixin.py -> build\lib.win-amd64-3.7\lxml\html copying src\lxml\html\__init__.py -> build\lib.win-amd64-3.7\lxml\html creating build\lib.win-amd64-3.7\lxml\isoschematron copying src\lxml\isoschematron\__init__.py -> build\lib.win-amd64-3.7\lxml\isoschematron copying src\lxml\etree.h -> build\lib.win-amd64-3.7\lxml copying src\lxml\etree_api.h -> build\lib.win-amd64-3.7\lxml copying src\lxml\lxml.etree.h -> build\lib.win-amd64-3.7\lxml copying src\lxml\lxml.etree_api.h -> build\lib.win-amd64-3.7\lxml copying src\lxml\includes\c14n.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\config.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\etreepublic.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\htmlparser.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\relaxng.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\schematron.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\tree.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\uri.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xinclude.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xmlerror.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xmlparser.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xmlschema.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xpath.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\xslt.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\__init__.pxd -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\etree_defs.h -> build\lib.win-amd64-3.7\lxml\includes copying src\lxml\includes\lxml-version.h -> build\lib.win-amd64-3.7\lxml\includes creating build\lib.win-amd64-3.7\lxml\isoschematron\resources creating build\lib.win-amd64-3.7\lxml\isoschematron\resources\rng copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\rng creating build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl creating build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 running build_ext building 'lxml.etree' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools ---------------------------------------- Command "c:\python37\python3.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\r\\AppData\\Local\\Temp\\pip-build-knkm18ss\\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\r\AppData\Local\Temp\pip-io7fp1ny-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\r\AppData\Local\Temp\pip-build-knkm18ss\lxml\
尝试了Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools,结果不行。
最后到这里直接下载安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml #根据系统位数和python版本选择包
然后 pip3 install lxml-4.2.1-cp37-cp37m-win_amd64.whl
成功