Python3.4.3(x64)下安装lxml(不需要编译器依赖)
背景
早上折腾Python3.4.3下安装lxml简直太惨痛了。
问题描述
最初直接pip安装:
pip install lxml
提示查找编译器出错:
Error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
因为安装有VS2015,尝试替换使用VS2015的C++编译器,修改环境变量:
set VS100COMNTOOLS=%VS140COMNTOOLS%
然后再次pip安装,提示:
ValueError: ['path']
怀疑可能真的是需要VS2010版本的,于是下载安装VS2010 Express,再次pip,仍旧提示:
ValueError: ['path']
在stackoverflow上找到可能是因为用的x64版Python的缘故,给出的解决方法是安装Microsoft SDK,太麻烦遂放弃。
试了试pywin32,没效果,放弃。
在PyPi上找到lxml页面,发现有exe版,但没有支持Python3.4的。
解决方法
找到stackoverflow上另一个解决方法,用wheel:
安装wheel
pip install wheel
下载whl文件
在http://www.lfd.uci.edu/~gohlke/pythonlibs/中找到对应版本的whl文件,如我需要的就是
lxml-3.4.4-cp34-none-win_amd64.whl
下载并保存
安装
如果whl文件在cmd当前目录下,执行:
pip install lxml-3.4.4-cp34-none-win_amd64.whl
否则pip install lxml-3.4.4-cp34-none-win_amd64.whl
需要加上路径,不然提示找不到文件。
安装会提示:
Processing c:\users\zhantong\lxml-3.4.4-cp34-none-win_amd64.whl
Installing collected packages: lxml
Successfully installed lxml-3.4.4
这样就是安装成功了,可以试试import lxml
了。
参考:
- python - Error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat) - Stack Overflow
- command line - Value error trying to install Python for Windows extensions - Stack Overflow
- Python PIP has issues with path for MS Visual Studio 2010 Express for 64-bit install on Windows 7 - Stack Overflow
- python - SOLVED: Installing lxml, libxml2, libxslt on Windows 8.1 - Stack Overflow
- Unofficial Windows Binaries for Python Extension Packages
- lxml 3.4.4 : Python Package Index
话说我得存一下,谢博主
还是google靠谱,遇到了一样的问题,现在解决啦!