其他分享
首页 > 其他分享> > 启动pyspider报错

启动pyspider报错

作者:互联网

输入命令:pyspider all

报错如下:
在这里插入图片描述

原因:

新版本Python引入了关键字async关键字(楼主使用的python版本是3.8),造成了python和pyspider关键字冲突,所以在安装好pyspider库之后运行pyspider all 会报错。

解决方案:

1. 为了解决关键字冲突的问题,主要修改以下三个文件:

注意:这里写的是相对路径,根据自己的python安装路径来找就可以了。

1. run.py和app.py下的async都是变量,可直接替换成其他非关键字,此处我替换为async_mode

2. tornado_fetcher.py中,建议不使用全部替换,手动更改:非变量不要修改:如CurlAsyncHTTPClient;变量如async=True修改为async_mode=True

2. 启动测试,又报错

报错如下:

在这里插入图片描述
又是版本的问题,这里直接降低wsgidav的版本

python -m pip install wsgidav==2.4.1

接着测试,接着报错:

在这里插入图片描述
wsgidav中1.0的新版本werkzeug没有DispatcherMiddleware,werkzeug的版本需要介于0.15-1.0之间。(pyspider需要0.15+的werkzeug版本)。

 # 卸载werkzeug
python -m pip  uninstall werkzeug
  #安装0.16.1版本
python -m pip install werkzeug==0.16.1 

好了,再一次测试,发现终于可以用了。
在这里插入图片描述
大功告成!

总结:

没事儿不要瞎玩,玩新版本就得踩坑。哎,我没事儿,溜达,有路我不走,就是要踩坑,就玩~

标签:版本,启动,python,py,报错,werkzeug,pyspider
来源: https://blog.csdn.net/w_rcss/article/details/116273629