Pyspider安装遇到的几个坎

目录

1. 官网下载python安装包

2. 安装pip

3.  安装phantomjs

4. 安装pyspider

5. 运行pyspider

async=True, get_object=False, no_input=False SyntaxError: invalid syntax

Deprecated option 'domaincontroller': use 'http_authenticator

cannot import name 'DispatcherMiddleware' from werkzeug.wsgi

tornado_fetcher:638] fetcher starting...卡着一直不动

6. pyspider运行成功效果图


   1. 官网下载python安装包

 https://wiki.python.org/moin/BeginnersGuide/Download

我用的windows10平台Python 3.8.3版本,这一步按照官网文档安装,没遇到大问题。python3版本安装,勾选上 add path to environment,就不再需要手动去环境变量中配置,包括python的家目录和Scripts两个Path环境变量

2. 安装pip

https://pip.pypa.io/en/stable/installing/

类似RedHat里面的yum 通过pip可以快速下载安装python软件 隐藏了背后复杂的下载安装的过程。

这一步按照官方文档安装,也没遇到大问题

需要注意的是,要安装最新版本的pip,不然安装不成功,会提示你去安装最新版

安装完,在python的Scripts会出现对应的pip文件,由于python安装过程中Scripts目录配置到了环境变量中,所以pip的安装就不再去配置PATH环境变量

3.  安装phantomjs

http://phantomjs.org/download.html

phantomjs是一个浏览器内核程序,可以在爬虫开发过程中,模拟浏览器渲染js和ajax显示的页面

浏览官方文档,下载对应版本安装,安装完成后,phantomjs的bin目录配置到PATH环境变量中

4. 安装pyspider

http://docs.pyspider.org/en/latest/

由于pip配置到了PATH环境变量,所以我们打开DOS窗口,任意目录下执行pip install pyspider,都可以安装pyspider

5. 运行pyspider

安装完成后,DOS窗口任意目录执行 pyspider all命令,启动pyspider,这一步遇到了几个问题

  • async=True, get_object=False, no_input=False SyntaxError: invalid syntax

  这是因为:asyncawait从 python3.7 开始已经加入保留关键字中,所以变量名和引用名为async的需要手工改成其它普通 变量名,例如改成:yibu。主要修改这三个模块:

pyspider->run.py、pyspider->fetcher->tornado_fetcher.py、webui>app.py

可以用这个工具去修改库文件或jar文件:https://www.jetbrains.com/pycharm/download/

  • Deprecated option 'domaincontroller': use 'http_authenticator

Pyspider的3.0及以上版本在安装时,会默认安装wsgidav的3.x版本,wsgidav的3.x版本目前仍然是测试版,相对于2.x更改了一些方法,所以pyspider all启动时,有上面的报错,针对这种情况。我们需要降低版本安装

卸载wsgidav的3.x版本:pip uninstall wsgidav

安装wsgidav的2.x版本:pip install wsgidav==2.4.1

  • cannot import name 'DispatcherMiddleware' from werkzeug.wsgi

这是因为我安装了Werkzeug 1.0.1版本,Werkzeug 1.0.1不存在DispatcherMiddleware类,我也采取降低版本安装

卸载Werkzeug 1.0.1版本:pip uninstall werkzeug

安装Werkzeug 0.16版本:  pip install werkzeug==0.16

  • tornado_fetcher:638] fetcher starting...卡着一直不动

pyspider安装会弹出防火墙对话框,选择允许就可以。也可以在DOS窗口关闭防火墙

NetSh Advfirewall set allprofiles state off  #关闭防火墙

Netsh Advfirewall show allprofiles            #查看防火墙状态

  • 刚开始我用的python-2.7.13,按照上面步骤往下走,进行到pip install pyspider这一步,提示我去安装pycurl

我从网站https://www.lfd.uci.edu/~gohlke/pythonlibs/,下载了多个版本的pycurl,尝试了多次去安装,提示我python2.7.13版本已经不支持pycurl的安装,不知道你有没有遇到过这个问题

6. pyspider运行成功效果图

http://localhost:5000

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值