• pyspider的下载安装(避坑指南)


    安装环境

    OS:Windows10

    python:3.7.3

    入坑——>脱坑

    由于工作需要使用到爬虫,查看网上pyspider的安装

    pip  install pyspider

    结果出现Fatal error in launcher: Unable to create process using '"d:developmenttoolspythonpython.exe"  "D:IDEpythonScriptspip3.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:developmenttoolspythonpython.exe"  "D:IDEpythonScriptspip3.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:IDEpythonLibsite-packagespyspiderrun.py(四处)

    D:DownloadsGoogleDownloadD:IDEpythonLibsite-packagespyspiderfetchertornado_fetcher.py(五处)

    注意:run.py可以使用全部替换,tornado_fetcher.py不能使用全部替换,必须一个一个替换,只替换变量及函数。

    替换完成重新启动,发现卡在23333

    打开 D:IDEpythonLibsite-packagespyspiderwebuiapp.py(一处),将关键字async也修改一下

    重新启动,还是报错 - Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.

    打开D:IDEpythonLibsite-packagespyspiderwebuiwebdav.py,搜索domaincontroller

    将domaincontroller替换成http_authenticator.domaincontroller,再次重新启动,出现webui running on 0.0.0.0:5000,终于可以啦!(喜极而泣)

    domaincontroller——>http_authenticator.domaincontroller

      打开浏览器,输入localhost:5000,出现如下页面,表示pyspider正常启动访问。

  • 相关阅读:
    HTTP 错误 403.14
    HTTP 错误 404.3
    HTTP 500
    [转]ESCAPE()、ENCODEURI()、ENCODEURICOMPONENT()区别详解
    此计算机当前已将连接限制
    一个由表结构生成表的存储过程
    微信小程序页面跳转传参
    前端性能优化术语
    get请求和post请求的区别
    从输入url到页面呈现的过程
  • 原文地址:https://www.cnblogs.com/CKhomepage/p/11502640.html
Copyright © 2020-2023  润新知