运行pyspider时出现 : ImportError: cannot import name ‘ContextVar‘
運(yùn)行pyspider常見(jiàn)的錯(cuò)誤:
①ValueError: Invalid configuration: - Deprecated option ‘domaincontroller’: use ‘http_authenticator.domain_controller’ instead.
②ImportError: cannot import name ‘DispatcherMiddleware’
這里我就不寫(xiě)了,網(wǎng)上一搜還挺多的,就這個(gè)問(wèn)題我在網(wǎng)上找了好長(zhǎng)時(shí)間也沒(méi)有找到解決方案。為了大家在遇到相同問(wèn)題時(shí)能夠少花點(diǎn)時(shí)間,我這里就把我的解決思路分享給大家參考。
這是我運(yùn)行pyspider命令時(shí)出現(xiàn)的錯(cuò)誤(我在解決上面提的兩個(gè)錯(cuò)誤后出現(xiàn)這個(gè)錯(cuò)誤):
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_codeexec(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 maincli()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 mainrv = self.invoke(ctx)File "d:\software\python\python36\lib\site-packages\click\core.py", line 1236, in invokereturn Command.invoke(self, ctx)File "d:\software\python\python36\lib\site-packages\click\core.py", line 1066, in invokereturn ctx.invoke(self.callback, **ctx.params)File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invokereturn callback(*args, **kwargs)File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_funcreturn f(get_current_context(), *args, **kwargs)File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 165, in clictx.invoke(all)File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invokereturn callback(*args, **kwargs)File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_funcreturn f(get_current_context(), *args, **kwargs)File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 497, in allctx.invoke(webui, **webui_config)File "d:\software\python\python36\lib\site-packages\click\core.py", line 610, in invokereturn callback(*args, **kwargs)File "d:\software\python\python36\lib\site-packages\click\decorators.py", line 21, in new_funcreturn f(get_current_context(), *args, **kwargs)File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 333, in webuiapp = load_cls(None, None, webui_instance)File "d:\software\python\python36\lib\site-packages\pyspider\run.py", line 48, in load_clsreturn utils.load_object(value)File "d:\software\python\python36\lib\site-packages\pyspider\libs\utils.py", line 369, in load_objectmodule = __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, loginFile "d:\software\python\python36\lib\site-packages\pyspider\webui\app.py", line 16, in <module>from flask import FlaskFile "d:\software\python\python36\lib\site-packages\flask\__init__.py", line 7, in <module>from .app import Flask as FlaskFile "d:\software\python\python36\lib\site-packages\flask\app.py", line 19, in <module>from werkzeug.local import ContextVar ImportError: cannot import name 'ContextVar'遇到這個(gè)情況你可以看下你在成功執(zhí)行pip install werkzeug==0.16.0語(yǔ)句時(shí),有沒(méi)有出現(xiàn)下面情況
這個(gè)是你flask版本的問(wèn)題,你只要降低下flask版本就行了
pip uninstall flask #卸載 你也可以省略這步,直接pip install flask==1.0 pip install flask==1.0 #我這里改成1.0就行了,改成其他低版本應(yīng)該也沒(méi)問(wèn)題,有興趣自己試下修改flask版本后:
總結(jié)
以上是生活随笔為你收集整理的运行pyspider时出现 : ImportError: cannot import name ‘ContextVar‘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 爬虫学习笔记(十)—— Scrapy框架
- 下一篇: 爬虫学习笔记(十一)—— Scrapy框