打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
pyspider all 会遇到的诸多拦路虎!(Python3.7)

情形1:

ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator

成功安装pyspider以后,运行pyspider all以后会有上面的问题;

解决办法:

在pyspider的安装包中,找到webui文件夹,然后找到webdav.py文件,找到下面的代码:'domaincontroller': NeedAuthController(app),

修改成如下:

 'http_authenticator':{
 'HTTPAuthenticator':NeedAuthController(app),
 }

情形2:

涉及async的错误提示 SyntaxError: invalid syntax

原因:

  Python 3.5中引入了async和await,在在Python 3.7中成为关键字。所以要替换一下关键字咯。

解决办法:

  1. 降低Python的版本,
  2. 根据提示路径把文件里面的async全部换成async_,
    • 一共三个文件
      • Python\Lib\site-packages\pyspider\run.py
      • Python\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py
      • Lib\site-packages\pyspider\webui\app.py

但是 !!!注意:只替换名为async 的变量或参数名。不要图省事选择“全部替换” 文件tornado_fetcher.py中如果全部替换是17处,便会报错

from tornado.curl_httpclient import CurlAsyncHTTPClient
from tornado.simple_httpclient import SimpleAsyncHTTPClient

还有下面两处引用也不要修改!!!这个很重要

情形3:

 

from werkzeug.wsgi import DispatcherMiddleware
ImportError: cannot import name DispatcherMiddleware

原因:

  1. 没有安装werkzeug
  2. werkzeug的版本为1.0.0,这个版本中没有DispatcherMiddleware方法,所以降低版本可以正常启动了,

 解决办法:

python -m pip install werkzeug==0.16.1 #安装0.16.1版本`

情形4:(我没遇到 手动滑稽)

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如下

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
安装pyspider出现的问题
踩坑记:终于怀着忐忑的心情完成了对 python 爬虫扩展库 pyspider 的安装
小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装
python3.7环境下安装pyspider遇到的问题及解决办法
PySpider 使用过程中的问题记录
Tornado
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服