python 3.7 pyspider all 报错(已解决)
<<<亲测有效>>>
报错内容:
最后一句出现
File "c:\users\13733\appdata\local\programs\python\python37\lib\site-packages\pyspider\run.py", line 231
async=True, get_object=False, no_input=False):
SyntaxError: invalid syntax
这个报错的原因是在python3.7中 async 是关键字,所以不能作为函数的参数名
我的解决方案:在pycharm中打开c:\users\13733\appdata\local\programs\python\python37\lib\site-packages\pyspider
这个路径前面部分因人而异,从lib后面是一样的,你需要找到你自己对应的路径,
(可以在终端输入where python找到路径)打开后
(菜单栏 edit -> find -> find in path) 然后输入async 来查找修改
async在两个文件中(一个是run.py ,另一个是在fetcher的tornado_fetcher.py中)
把async都改为shark即可(注意,只改参数名,大写的Async别改,如SimpleAsyncHTTPClient 就别改)
网上大部分教程到这里基本就结束,但我发现最后运行还是出了错
就是改一个controller的函数名,你可以根据终端报错的最后一句话在上述文件中搜索修改即可。
在网址中输入localhost:5000 如果出现以下界面,就表示你成功了。
根据网上的回答,我把python版本改为了 3.5 ,但是还是有问题,我3.7成功了,之后也懒得用3.5版本实现了,读者可以自己改改试试。
如果对你有帮助,欢迎留言告诉我。码字不易,点个感谢WOW~~