标签:版本 启动 python py 报错 werkzeug pyspider
输入命令:pyspider all
报错如下:
原因:
新版本Python引入了关键字async关键字(楼主使用的python版本是3.8),造成了python和pyspider关键字冲突,所以在安装好pyspider库之后运行pyspider all 会报错。
解决方案:
1. 为了解决关键字冲突的问题,主要修改以下三个文件:
- \Lib\site-packages\pyspider\run.py
- \Lib\site-packages\pyspider\fetcher\tornado_fetcher.py
- \Lib\site-packages\pyspider\webui\app.py
注意:这里写的是相对路径,根据自己的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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。