pyspider 啟動錯誤遇到的一些坑


https://blog.csdn.net/SiHann/article/details/88239892

突然接到一個項目是關於pyspider,遇到了一些小坑,百度一下發現並沒有很好的解決所以研究了一下。
我所使用的python版本是3.6.8,因為pyspider是對pip有版本要求的,所以自動升級一下。

升級pip
•# pip install –upgrade pip

一切配置好之后,就在CMD中運行 pyspider all 來看能否跑起來。
這是成功的樣子,說明可以了。

不過路上誰能不遇坑,人家各種成功,到了我這里就是各種錯誤,我就把這些錯誤整合一下。

首先第一個錯誤:python3.7不兼容pyspider問題(出現占用關鍵字的問題)
Python 3.5中引入了async和await,它們在Python 3.7中成為關鍵字。
所以需要替換一下關鍵字。

第二個問題也就是我遇到的問題:[root@localhost python]# pyspider all
[W 180629 07:08:26 run:413] phantomjs not found, continue running without it.
[I 180629 07:08:29 result_worker:49] result_worker starting…
[I 180629 07:08:31 processor:211] processor starting…
[I 180629 07:08:31 tornado_fetcher:638] fetcher starting…
[I 180629 07:08:31 scheduler:675] scheduler starting…
[I 180629 07:08:31 scheduler:614] in 5m: new:0,success:0,retry:0,failed:0
[I 180629 07:08:31 scheduler:810] scheduler.xmlrpc listening on 127.0.0.1:23333
[I 180629 07:08:32 app:84] webui exiting…
Traceback (most recent call last):
File “/root/.pyenv/versions/3.6.5/bin/pyspider”, line 11, in
load_entry_point(‘pyspider==0.3.10’, ‘console_scripts’, ‘pyspider’)()
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pyspider-0.3.10-py3.6.egg/pyspider/run.py”, line 754, in main
cli()
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pyspider-0.3.10-py3.6.egg/pyspider/run.py”, line 497, in all
ctx.invoke(webui, **webui_config)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pyspider-0.3.10-py3.6.egg/pyspider/run.py”, line 384, in webui
app.run(host=host, port=port)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pyspider-0.3.10-py3.6.egg/pyspider/webui/app.py”, line 59, in run
from .webdav import dav_app
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pyspider-0.3.10-py3.6.egg/pyspider/webui/webdav.py”, line 216, in
dav_app = WsgiDAVApp(config)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/WsgiDAV-3.0.0a2-py3.6.egg/wsgidav/wsgidav_app.py”, line 122, in init
_check_config(config)
File “/root/.pyenv/versions/3.6.5/lib/python3.6/site-packages/WsgiDAV-3.0.0a2-py3.6.egg/wsgidav/wsgidav_app.py”, line 104, in _check_config
raise ValueError("Invalid configuration:\n - " + "\n - ".join(errors))
ValueError: Invalid configuration:

Deprecated option ‘domaincontroller’: use ‘domain_controller’ instead.

這是我遇到的,然后網上居然沒有特別明顯的解決,費勁千辛萬苦才查到,這是WsgiDAV發布了版本 pre-release 3.x導致的,所以只要把版本降下來就好了。
將wsgidav替換為2.4.1
•# python -m pip install wsgidav==2.4.1

然后運行 pyspider all 發現居然可以了。上一張成功的圖片。

然后很歡快的打開瀏覽器輸入:localhost:5000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM