python+Scrapy爬虫编程环境配置的资料整理

windows环境下配置pip时有冲突


问自己的问题:

是什么造成了不同版本之间的冲突

python是什么

scrapy是什么



python+pip的安装

软件:python链接:http://pan.baidu.com/s/1pKA7U7x 密码:hw11

pip1.5.6连接:链接:http://pan.baidu.com/s/1eS9eBXg 密码:x3d3


系统:window10



1.python直接打开软件一路next安装完成

此时一次性可以把python和其下的Scripts目录添加进系统变量。

python+Scrapy爬虫编程环境配置的资料整理_第1张图片

2.pip安装包解压后打开cmd,cd进入安装包所在位置,输入

python setup.py install

进行安装

python+Scrapy爬虫编程环境配置的资料整理_第2张图片

出现以下信息表示安装完成


输入pip检验是否安装成果,不成功的话会提示‘pip’不是内部命令

python+Scrapy爬虫编程环境配置的资料整理_第3张图片



scrapy的安装:

输入pip install Scrapy 开始安装


出现如下错误:

python+Scrapy爬虫编程环境配置的资料整理_第4张图片

进入python shell 输入import scrapy出现如下错误

python+Scrapy爬虫编程环境配置的资料整理_第5张图片

提示说明没有安装six

由于装好了pip,输入pip install six成功安装了

python+Scrapy爬虫编程环境配置的资料整理_第6张图片

再试一遍scrapy,提示没有安装twisted

python+Scrapy爬虫编程环境配置的资料整理_第7张图片

于是输入pip install twisted,再次出错,于是需要知道vcvarsall.bat为什么会找不到

搜索了整个电脑都没找到这个文件,说明我需要重新下载yi'g

python+Scrapy爬虫编程环境配置的资料整理_第8张图片




查到如下资料:


scrapy的依赖环境:

目前稳定使用scrapy的依赖环境如下: 
pip install Twisted==14.0.2 
w3lib==1.11.0 
queuelib==1.2.2 
lxml==3.3.0 
pyOpenSSL==0.12 
cssselect==0.9.1 
six==1.9.0 
scrapy==0.24.4 
pycurl==7.19.5.1 
django==1.4.18 
mysql-python==1.2.5 
service_identity==14.0.0 
selenium==2.44.0 
simplejson==3.6.5 
pip install Twisted==14.0.2 https://pypi.python.org/packages/source/T/Twisted/Twisted-14.0.2.tar.bz2 
pip install w3lib==1.11.0 
pip install queuelib==1.2.2 
pip install lxml==3.3.0 
pip install pyOpenSSL==0.12 
pip install cssselect==0.9.1 
pip install six==1.9.0 
pip install scrapy==0.24.4 
pip install pycurl==7.19.5.1 
pip install django==1.4.18 
pip install mysql-python==1.2.5 
pip install service_identity==14.0.0 
pip install selenium==2.44.0 
pip install simplejson==3.6.5



1.windows上做Python开发,搭环境还真不比Linux容易。error: Unable to find vcvarsall.bat这个错误眼熟吧?

凡是安装和操作系统底层密切相关的Python扩展,几乎都会遇到这个错误。比如PIL, Pillow(两个图形库),greenlet以及其基础之上的eventlet, gevent微线程并发库等等。当然了有一些情况下,你不必彻底解决它,你可以选择windows版本,那么也就只能使用阉割版功能。

PIL有windows版,即使安装上了,64位Python一定报错 The _imaging C module is not installed, 除非自己重新编译安装。此外与CPU位数可能有关系,仅个人猜测。本人两个机器都是Win7旗舰版64位,安装的32位Python,其中一个CPU是64位的也遇到这个错误,32位的CPU则不报错。

为了解决64位CPU报错,于是安装Pillow的windows版,确实能正常使用,不再报错。但是图片效果极不理想,图片里面用到font就悲剧,出个验证码的图片都难以辨认。

greenlet也可以安装windows版,有可能报错加载动态链接库失败,比如”ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。“不幸我也遇到了。


2.windows安装使用这些偏底层的Python扩展太不爽了,怎么彻底解决 error: Unable to find vcvarsall.bat 呢?

    1.不要按网上说的,安装MinGW,然后在“..python安装路径...\Lib\distutils”下新建一个文件distutils.cfg,在这文件里面指定编译器为mingw32

       如:

[build]
compiler=mingw32
    原因是什么,可以百度一下mingw是什么,毕竟不是GCC,又不如VC接windows的地气,编译出来的东西,安装上了也有不好使的时候。甚至我遇到MinGW还无法编译greenlet0.4.1,导致greenlet无法源码安装。MinGW经常command 'gcc' failed with exit status 1 或者error: unrecognized command line option '-mno-cygwin'。即使编译通过了,安装上了,你安装的Python标准库不是由mingw编译的,你的扩展包却是mingw编译的,谁也不敢保证完全兼容或者说质量跟得上,说不准一些莫名其妙的神经质错误。


     2.去下载安装VS2010(08版貌似也行,不过没必要用旧版,指不定哪个库又无法编译),给个地址(百度的云盘  国内应该速度可以)

http://pan.baidu.com/share/link?shareid=1609273194&uk=3255422755

   然后注意这一步很重要:命令行下执行 SET VS90COMNTOOLS=%VS100COMNTOOLS%

   如果你安装的是 2012 版 SET VS90COMNTOOLS=%VS110COMNTOOLS%

   如果你安装的是 2013版 SET VS90COMNTOOLS=%VS120COMNTOOLS%

   或者更暴力,直接配置系统环境变量 VS90COMNTOOLS指向 %VS你的版本COMNTOOLS%

   你还可以更暴力,在“..python安装路径...\Lib\distutils目录下有个msvc9compiler.py找到243行  

                  toolskey = "VS%0.f0COMNTOOLS" % version   直接改为 toolskey = "VS你的版本COMNTOOLS"(这个就是为什么要配 ”VS90COMNTOOLS“ 的原因,因为人家文件名都告诉你了是  Microsoft vc 9的compiler,   代码都写死了要vc9的comntools,就要找这个玩意儿,找不到不干活)

   这么做的理由是Python2。7 扩展包是可以用08版或者更高的VS编译的,其setup.py(安装脚本)都是去windows系统寻找08版的VS,所以设置VS90的path

   如果Python版本小于2.7,强烈建议使用 VS08版,用2010或者更高可能部分扩展不好使。给个例子:

    http://stackoverflow.com/questions/6551724/how-do-i-point-easy-install-to-vcvarsall-bat    这个例子说明 VS2010不适合Python2.6


    3.安装VS后该重启的重启,clean一下之前安装Python扩展失败的残留文件,然后 直接下载 pil   pillow greenlet  eventlet等源码,解压后python setup.py build发现都可以编译了。接下来就换成 python setup.py install安装吧。


同时在国外论坛上搜到这样的说法:

Unfortunately to be able to use the extension modules provided by others you'll be forced to use the official compiler to compile Python. These are:

  • Visual Studio 2008 for Python 2.7. See:https://docs.python.org/2.7/using/windows.html#compiling-python-on-windows

  • Visual Studio 2010 for Python 3.4. See:https://docs.python.org/3.4/using/windows.html#compiling-python-on-windows

Alternatively, you can use MinGw to compile extensions in a way that won't depend on others.

See: https://docs.python.org/2/install/#gnu-c-cygwin-MinGW orhttps://docs.python.org/3.4/install/#gnu-c-cygwin-mingw

This allows you to have one compiler to build your extensions for both versions of PythonPython2.x and Python 3.x.


总的意思就是:我们要使用这个模块就必须安装Visual Studio 2008 for Python 2.7或者Visual Studio 2010 for Python 3.4,用MinGw也是可以的。


我根据安装了一些vs的运行环境,一个个把scrapy的依赖环境用pip装上后可以正常运行了


参考资料:国外网站上的在windows上安装python:https://docs.python.org/3.4/using/windows.html#compiling-python-on-windows



你可能感兴趣的:(python+Scrapy爬虫编程环境配置的资料整理)