python版本不能太高 最好3.6或3.7(在3.10时遇到实在难以解决的错误而弃用)
安装时总有错误不是搜安装pyspider错误就能出来
python3.7.9
win64
win11
curl --> pycurl --> pyspider
phantomjs
Download PhantomJS
找对应版本
curl - Download
python一些包下载站
找python37 版本
Python Extension Packages for Windows - Christoph Gohlke (uci.edu)
用 pip install <包名> 安装
pip install
在三个文件(上网搜哪三个)里把关键字async改成非关键字(取变量名)
注意只改参数,变量, 不该函数名中的async(注意别用全局替换)
找到/pyspider/webui/webdav.py文件
将'domaincontroller': NeedAuthController(app),
修改为
'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app)
},
.ImportError: cannot import name 'DispatcherMiddleware' from 'werkzeug.wsgi' (/usr/local/lib/python3.8/dist-packages/werkzeug/wsgi.py
降版本 werkzeug==0.16.1
大概意思 "werkzeug>=2.0" required "flask>=2.0"
自身flask版本高,降flask版本
flask==1.0
但是出错
ImportError: cannot import name ‘json’ from itsdangerous
这个错误是flask版本过低导致
陷入了僵局:werkzeug需要低版本的flask 而 flask版本低了会出错
解决方法:
[Solved] ImportError: cannot import name ‘json’ from itsdangerous - ItsMyCode
解决方案 1 – 将 Flask 升级到最新版本 > 2
解决方案 2 – 将 Flask 升级到 1.1.4 并将标记安全降级到 2.0.1
我选第二种
pip install Flask==1.1.4
pip install markupsafe==2.0.1
解决方案3 - 将其危险降级到2.0.1
TypeError: Can't instantiate abstract class ScriptProvider with abstract methods get_resource_inst
wsgidav==2.4.1
http://localhost:5000/