环境:很多的python版本都尝试过安装pyspider,网上多数让python3.6安装,说是这个环境是最佳的环境,测试安装最方便快捷,但是一直报result_worker starting…!!!,卡死在界面上,Python3.7版本能通过这个问题,所有后面尝试python3.7版本,结果通过了。
问题1:Please specify --curl-dir=/path/to/built/libcurl 网上说下载个 whl 这个文件,但是控制台打印是7.25版本,没有这个whl,后面我是用pycurl-7.43.0.5-cp37-cp37m-win_amd64.whl这个提取码:itkv,pip install pycurl-7.43.0.5-cp37-cp37m-win_amd64.whl安装成功
问题2:安装phantomjs,打开plantomjs网址,下载Windows版本,下载完成后进行解压,并将bin目录下的phantomjs.exe添加到系统的环境变量下即可
问题3:async=True, get_object=False, no_input=False):修改
C:\Users\user_name\AppData\Local\Programs\Python\Python36-32\Lib\site-packages/pyspider/run.py
C:\Users\user_name\AppData\Local\Programs\Python\Python36-32\Lib\site-packages/pyspider/fetcher/tornado_fetcher.py
C:\Users\user_name\AppData\Local\Programs\Python\Python36-32\Lib\site-packages/pyspider/webui/app.py
可以用记事本打开该文件,然后ctrl+f查找async,替换为async_,不要替换Async
问题4:Can't instantiate abstract class ScriptProvider with abstract methods get_resource_inst
把pyspider/webui/webdav.py 18行from .app import app改为from app import app,把出问题的配置'provider_mapping': {'/': ScriptProvider(app) }注释掉,并且修改下面的'domaincontroller': NeedAuthController(app) 为'http_authenticator':{'HTTPAuthenticator':NeedAuthController(app),},,然后运行成功
结果:
PS:python版本建议3.7版本,尤其问题4最为重要,可以进行下面的工作了