分成小步骤来一个一个地完成

时间:2021-11-06 08:14:54

标签:window scrapy

  写这篇文章,不只是为了汇总安置Scrapy的常见安置问题,还本身独立解决问题的能力。从一开始报VS C++版本的错误,到后来在CentOS运行pip install lxml很慢(CentOS 7 是一台虚拟机)。

这是一种常见的安置lxml的异常情况:


电脑环境:win10 64位

python环境:python 2.7版本 64位系统

方针:安置lxml  ( lxml-3.6.4-cp27-cp27m-win32.whl)


主要法式就两步:

1:安置工具wheel : pip install wheel

2:安置lxml:pip install lxml-3.6.4-cp27-cp27m-win32.whl


“预期“”会遇到的坑:

1,,记得先安置wheel工具

2,filename.whl is not supported wheel on this platform

     可以测验考试升级pip工具:python -m pip install --upgrade pip

3,升级工具后应该就没问题了,需要注意的是lxml的版本:cp27 代表python版本2.7;  win32代表python撑持的版本号。   lxml版本可到网站自行下载 :


第二种常见安置异常情况:

注意的是window platform里pip.exe 的路径在C:\Python27\scripts\pip.exe


error Microsoft VIsual C++ 9.0 required,凭据这个blog(),按照该博文,

一个是在环境变量上改削

2.改削源代码

打开 “python安置目录/Lib/distutilsmsvc9compiler.py”文件,找到find_vcvarsall函数,在该函数开头添加 

version =上面的版本号, 即添加内容为 “VERSION = 14.0”, 这样就可以使用了

def find_vcvarsall(version):    """Find the vcvarsall.bat file     At first it tries to find the productdir of VS 2008 in the registry. If     that fails it falls back to the VS90COMNTOOLS env var.     """     version = 14.0            ##添加这行     vsbase = VS_BASE % version     ... ...

3.安置vcforpython27.msi,下载地点:https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266


第三种报错信息

Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed

fatal error C1083:cannot open include file:libxml/xml.version.h

请参考Stack Overflow

https://*.com/questions/33785755/getting-could-not-find-function-xmlcheckversion-in-library-libxml2-is-libxml2


run:

pip install C:\path\to\downloaded\file\lxml-3.6.1-cp27-cp27m-win32.whl


第四种报错信息

error: command ‘C:\\Users\\rainer\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe‘ failed with exit status2



,最后在*找到解决步伐改用这个命令安置lxml就好了:set STATICBUILD=true && pip install lxml

原帖地点:



If you have a compiler installed (tested with VS C++ 2008 Express), you can simply run:

set STATICBUILD=true && pip install lxml

As pointed out , setting STATICBUILD will tell to lxml‘s installer to automatically download all its binary dependencies before build.

These lxml binary dependencies, that should be present when installing from source, will be downloaded and build together by the installer:

libxslt

iconv

zlib

libxml2

Bonus: It also works inside a virtualenv.


像CentOS里一样(yum install libxml2-devlibxslt-dev),windows操纵系统是否要装libxml2-dev,libxslt-dev .




pip安置工具不行就可以换一种安置工具。

easy_install lxml 


参照这篇博文 安置在windows系统安置Scrapy。


安置Scrapy后,梳理一下:系统给你的报错信息很重要,报错信息+安置的关键词(像Scrapy)是输入到搜索引擎的重要内容,还有再庞大的工作,分成小法式来一个一个地完成。