ValueError: Invalid configuration: - Deprecated option ‘domaincontroller‘: use ‘http_authenticator
成功安装pyspider以后,运行pyspider all以后会有上面的问题;
解决办法:
在pyspider的安装包中,找到webui文件夹,然后找到webdav.py文件,找到下面的代码:‘domaincontroller‘: NeedAuthController(app),
修改成如下:
‘http_authenticator‘:{ ‘HTTPAuthenticator‘:NeedAuthController(app), }
涉及async的错误提示 SyntaxError: invalid syntax
原因:
Python 3.5中引入了async和await,在在Python 3.7中成为关键字。所以要替换一下关键字咯。
解决办法:
但是 !!!注意:只替换名为async 的变量或参数名。不要图省事选择“全部替换” 文件tornado_fetcher.py中如果全部替换是17处,便会报错
from tornado.curl_httpclient import CurlAsyncHTTPClient from tornado.simple_httpclient import SimpleAsyncHTTPClient
还有下面两处引用也不要修改!!!这个很重要
from werkzeug.wsgi import DispatcherMiddleware
ImportError: cannot import name DispatcherMiddleware
原因:
解决办法:
python -m pip install werkzeug==0.16.1 #安装0.16.1版本`
Deprecated option ‘domaincontroller’: use ‘domain_controller’ instead.
原因:
WsgiDAV发布了版本 pre-release 3.x导致的,所以只要把版本降下来就好了。
解决办法:
将wsgidav替换为2.4.1
python -m pip install wsgidav==2.4.1
成功截图:
访问 localhost:5000如下
pyspider all 会遇到的诸多拦路虎!(Python3.7)
原文:https://www.cnblogs.com/lzhh/p/pyspider_0.html