我在Windows 10机器上,最近从python 2.7移动到3.5。当尝试通过pip安装lxml时,它会停止并抛出此错误消息 -
建立'lxml.etree'扩展名 错误:需要Microsoft Visual C ++ 14.0。使用“Microsoft Visual C ++构建工具”获取它:http://landinghub.visualstudio.com/visual-cpp-build-tools
我安装了VS 2015的工作副本。当我尝试通过该链接安装visual cpp工具时,它表示已在计算机上安装了Microsoft Visual Studio 2015。我还尝试安装64位和32位版本的visual studio c ++ 2015可再发行组件,但他们都说已经安装了另一个版本的产品。
在命令提示符下键入set包含此 -
VS140COMNTOOLS = C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ Tools \
这表示路径已设置。
这可能是我在SO上找到的唯一资源,但答案建议从3.5回滚到Python 3.4.3。有人解决了这种问题吗?
Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)
编辑:我设法使用预编译的二进制文件安装它(谢谢保罗),但我仍然想知道是什么导致了这一点。
答案 0 :(得分:25)
您是否检查过安装Visual Studio时安装了C ++编译器?这似乎是一个愚蠢的问题,但这是我犯的错误。通过进入visual studio的设置(程序和功能:修改" Visual Studio 2015和#34;)进行检查,然后在Programming Languages->VC++
下,确保勾选它。
答案 1 :(得分:3)
pip install wheel
lxml-3.6.4-cp35-cp35m-win32.whl
。python -m pip install lxml-3.6.4-cp35-cp35m-win32.whl
答案 2 :(得分:3)
作为上述@davidsheldon答案的更新,如果您想使用Visual Studio Build Tools 2017而不是2015,它将起作用。
我发现构建工具的默认安装是不够的,但是,我添加了`VC ++ 2015.3 ...桌面工具集(x86,x64),然后python很高兴:
答案 3 :(得分:2)
我找到了另一种方法来解决这个问题: 因为我使用anaconda python,所以我使用这段代码:
conda install -c conda-forge scrapy
答案 4 :(得分:1)
我和你有同样的问题!我找到了一种不需要安装vs2015的方法,也许,你只是没有安装twisted。http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted .download twisted --version(Twisted-17.5.0-cp36-cp36m-win_amd64.whl)(也许是win_amd32.whl如果64不起作用),并运行:pip PATH + filename
pip install C:\Users\CR\Downloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl
pip install Scrapy
我刚安装成功!祝你好运!
我迈向scrapy的步骤: 1.pip安装轮 2.pip install lxml 3.pip install pyOpenSSL 4.pip install Twisted(故障 - >如上所述) 5.install pywin32表单:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 6.pip Scrapy(成功)
答案 5 :(得分:0)
遇到同样的问题并注意到我在64位机器上安装了32位版本。我所做的就是卸载错误的版本并安装正确的版本,它工作正常。
答案 6 :(得分:-2)
首先:
pip install wheel
第二:转到http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 并下载适当的轮子。
pip install
您下载的文件(.whl)。