pyspider的下载安装(避坑指南)
安装环境
OS:Windows10
python:3.7.3
入坑——>脱坑
由于工作需要使用到爬虫,查看网上pyspider的安装
pip install pyspider
结果出现Fatal error in launcher: Unable to create process using '"d:\developmenttools\python\python.exe" "D:\IDE\python\Scripts\pip3.exe" -version'
上网搜索发现安装pyspider之前需要安装pycurl依赖库,需要根据python版本选择要下载的pycurl版本(我的是python3.7,64位)
pycurl依赖库下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
在cmd中使用pip命令安装pycurl,pip install pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl依然报同样错误
Fatal error in launcher: Unable to create process using '"d:\developmenttools\python\python.exe" "D:\IDE\python\Scripts\pip3.exe"
我开始怀疑安装python的时候未安装pip插件,输入pip指令报错,确认pip插件未安装,但是打开python安装目录Scripts发现有pip.exe,挠头ing...
然后查找教程发现可以通过更新pip版本信息解决,于是输入python -m pip install --upgrade pip进行pip版本的更新(注意upgrade前是两个-)
终于出现pip成功安装的提示,然后输入pip命令检查,终于不再报错!!!
成功安装pip之后,就需要安装pyspider,再次输入pip install pyspider还是报错
突然想起来安装pyspider需要先安装pycurl依赖库(注意安装的时候需要pycurl的绝对路径)
pip install D:Downloads/GoogleDownload/pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl,然后提示pycurl成功安装!
再输入pyspider的安装指令pip install pyspider就可以成功安装啦!
成功安装后输入pyspider all启动pyspider,发现无法启动,出现了新的问题???
经过查找资料后发现python3.7将async作为了关键字,所以文件中async作为变量函数的地方需要替换成其他(比如_async)
D:\IDE\python\Lib\site-packages\pyspider\run.py(四处)
D:\Downloads\GoogleDownload\D:\IDE\python\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py(五处)
注意:run.py可以使用全部替换,tornado_fetcher.py不能使用全部替换,必须一个一个替换,只替换变量及函数。
替换完成重新启动,发现卡在23333
打开 D:\IDE\python\Lib\site-packages\pyspider\webui\app.py(一处),将关键字async也修改一下
重新启动,还是报错 - Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.
打开D:\IDE\python\Lib\site-packages\pyspider\webui\webdav.py,搜索domaincontroller
将domaincontroller替换成http_authenticator.domaincontroller,再次重新启动,出现webui running on 0.0.0.0:5000,终于可以啦!(喜极而泣)
domaincontroller——>http_authenticator.domaincontroller
打开浏览器,输入localhost:5000,出现如下页面,表示pyspider正常启动访问。