win10下安装pyspider有很多坑,为了记录下来,专门新建了虚拟环境从头安装加以记录,所有出错信息和截图均来自安装过程,不对你的症请找其他大夫,不喜勿喷。
安装:
pip install pyspider
启动:
pyspider
报错:
File "d:\Python\virtualEnv\env10\lib\site-packages\pyspider\webui\app.py", line 59, in run
from .webdav import dav_app
File "d:\Python\virtualEnv\env10\lib\site-packages\pyspider\webui\webdav.py", line 216, in
dav_app = WsgiDAVApp(config)
File "d:\Python\virtualEnv\env10\lib\site-packages\wsgidav\wsgidav_app.py", line 134, in __init__
_check_config(config)
File "d:\Python\virtualEnv\env10\lib\site-packages\wsgidav\wsgidav_app.py", line 118, in _check_config
raise ValueError("Invalid configuration:\n - " + "\n - ".join(errors))
ValueError: Invalid configuration:
- Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.
原因:wsgidav版本太高了,默认安装3.X版本,重新安装2.X:
python -m pip uninstall wsgidav
python -m pip install wsgidav==2.4.1
启动,挂起,执行不下去,重启电脑,在启动pyspider,再报新错:
File "d:\Python\virtualEnv\env10\lib\site-packages\pyspider\run.py", line 497, in all
ctx.invoke(webui, **webui_config)
File "d:\Python\virtualEnv\env10\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "d:\Python\virtualEnv\env10\lib\site-packages\click\decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "d:\Python\virtualEnv\env10\lib\site-packages\pyspider\run.py", line 384, in webui
app.run(host=host, port=port)
File "d:\Python\virtualEnv\env10\lib\site-packages\pyspider\webui\app.py", line 64, in run
from werkzeug.wsgi import DispatcherMiddleware
ImportError: cannot import name 'DispatcherMiddleware' from 'werkzeug.wsgi' (d:\program files\python37\lib\site-packages\werkzeug\wsgi.py)
原因:werkzeug版本高了,DispatcherMiddleware这个类已经不存在了,因此重新安装小版本:
python -m pip uninstall werkzeug
python -m pip install werkzeug=0.15
启动,挂起,执行不下去,重启电脑,启动pyspider,OK了