运行pyspider时出现 : ImportError: cannot import name ‘ContextVar‘

运行pyspider常见的错误:
①ValueError: Invalid configuration: - Deprecated option ‘domaincontroller’: use ‘http_authenticator.domain_controller’ instead.
②ImportError: cannot import name ‘DispatcherMiddleware’
这里我就不写了,网上一搜还挺多的,就这个问题我在网上找了好长时间也没有找到解决方案。为了大家在遇到相同问题时能够少花点时间,我这里就把我的解决思路分享给大家参考。

这是我运行pyspider命令时出现的错误(我在解决上面提的两个错误后出现这个错误):

PS D:\python test\pyspider_text> pyspider
d:\software\python\python36\lib\site-packages\pyspider\libs\utils.py:196: FutureWarning: timeout is not supported on your platform.
  warnings.warn("timeout is not supported on your platform.", FutureWarning)
[W 210717 17:50:00 run:413] phantomjs not found, continue running without it.
[I 210717 17:50:02 result_worker:49] result_worker starting...
[I 210717 17:50:02 processor:211] processor starting...
[I 210717 17:50:02 scheduler:647] scheduler starting...
[I 210717 17:50:02 scheduler:586] in 5m: new:0,success:0,retry:0,failed:0
[I 210717 17:50:03 scheduler:782] scheduler.xmlrpc listening on 127.0.0.1:23333
[I 210717 17:50:04 tornado_fetcher:638] fetcher starting...
[I 210717 17:50:04 tornado_fetcher:671] fetcher exiting...
[I 210717 17:50:04 scheduler:663] scheduler exiting...
[I 210717 17:50:04 result_worker:66] result_worker exiting...
[I 210717 17:50:04 processor:229] processor exiting...
Traceback (most recent call last):
  File "d:\software\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\software\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\SoftWare\Python\Python36\Scripts\pyspider.exe\__main__.py", line 7, in <module>
  File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 754, in main
    cli()
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 1236, in invoke
    return Command.invoke(self, ctx)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 165, in cli
    ctx.invoke(all)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 497, in all
    ctx.invoke(webui, **webui_config)
  File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 333, in webui
    app = load_cls(None, None, webui_instance)
  File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 48, in load_cls
    return utils.load_object(value)
  File "d:\software\python\python36\lib\site-packages\pyspider\libs\utils.py", line 369, in load_object
    module = __import__(module_name, globals(), locals(), [object_name])
  File "d:\software\python\python36\lib\site-packages\pyspider\webui\__init__.py", line 8, in <module>
    from . import app, index, debug, task, result, login
  File "d:\software\python\python36\lib\site-packages\pyspider\webui\app.py", line 16, in <module>
    from flask import Flask
  File "d:\software\python\python36\lib\site-packages\flask\__init__.py", line 7, in <module>
    from .app import Flask as Flask
  File "d:\software\python\python36\lib\site-packages\flask\app.py", line 19, in <module>
    from werkzeug.local import ContextVar
ImportError: cannot import name 'ContextVar'

遇到这个情况你可以看下你在成功执行pip install werkzeug==0.16.0语句时,有没有出现下面情况

这个是你flask版本的问题,你只要降低下flask版本就行了

pip uninstall flask   #卸载  你也可以省略这步,直接pip install flask==1.0
pip install flask==1.0   #我这里改成1.0就行了,改成其他低版本应该也没问题,有兴趣自己试下

修改flask版本后:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值