安装pyspider不同Python版本遇到的问题及解决方法
关于pyspider的安装问题
介于安装pyspider时的要求,Python的版本最好用Python3.6。只需要pip install pyspider。然后在cmd或者终端pyspider all运行跑一下即可。
**Python3.6安装时出现ImportError cannot import name “Disdispatcher Middleware” from “werkzeug.wsgi” **
出现上述问题是因为pyspider源码中的版本问题,一共有两种解决方法:
1.在cmd里 pip uninstall wsgidav
pip install werkzeug==0.16
2.可在pyspider相关文件里找到weibu这个文件夹里的webdav.py这个文件将源码里的209行代码改成以下这种格式:
Python3.7安装pyspider容易出现的问题
1.关键字问题SyntaxError:Invalid syntax
出现这种问题,需要替换关键字。需要打开run.py和fetcher>tornado_fetcher.py和webui>app.py。然后用ctrl+f查找所有的async,把所有的async替换为shark(替换全是小写的async)
2.报错出现ValueError:Invalid configuration
这是由于wsgidav版本太高,需要重新安装一下
pip uninstall wsgidav
pip install wsgidav==2.4.1
3.再报错ImportError:cannot import name “DispatcherMiddleware” from “werkzeug”
这是由于werkzeug版本太高了,导致找不到dispatchermiddleware这个模块,两种方法:
1.和上面一样pip uninstall werkzeug
pip install werkzeug==0.16
2.在pyspider相关文件里找到weibu文件夹里的webdav.py里将原本的代码改为以下情况即可
最后pyspider all如果出现500那么恭喜你成功了
综上可见,还是Python3.6版本安装最为方便出现的问题也少,所以建议用Python3.6版本安装pyspider