一、pip install pyspider 安装出现错误:

Command "python setup.py egg_info" failed with error code 10 in C:\Users\xxx\AppData\Local\Temp\pip-install-tc5uvu7l\pycurl\

经过网上大拿的经验需要安装wheel,执行命令pip3 install wheel安装,提示Successfully installed wheel-0.31.1代表安装成功,然后访问https://www.lfd.uci.edu/~gohlke/pythonlibs/下载相关安装文件,具体如下:

PycURL, a interface to the libcurl library.
pycurl‑7.43.1‑cp27‑cp27m‑win32.whl
pycurl‑7.43.1‑cp27‑cp27m‑win_amd64.whl
pycurl‑7.43.1‑cp34‑cp34m‑win32.whl
pycurl‑7.43.1‑cp34‑cp34m‑win_amd64.whl
pycurl‑7.43.1‑cp35‑cp35m‑win32.whl
pycurl‑7.43.1‑cp35‑cp35m‑win_amd64.whl
pycurl‑7.43.1‑cp36‑cp36m‑win32.whl
pycurl‑7.43.1‑cp36‑cp36m‑win_amd64.whl
pycurl‑7.43.1‑cp37‑cp37m‑win32.whl
pycurl‑7.43.1‑cp37‑cp37m‑win_amd64.whl
具体下载版本根据你使用的环境来定,比如我的是python3.7,然后python是32位版本,则需要选择pycurl‑7.43.1‑cp37‑cp37m‑win32.whl进行下载,注意:32或64位版本不是电脑的版本,是安装python的版本!!!
下载后进行安装,命令 pip3 install D:\python\demo\pycurl-7.43.1-cp37-cp37m-win_amd64.whl执行,如果报错:
pycurl-7.43.1-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
代表你安装的版本不对,就是上面所述的那个,我电脑是64位的,python是32位的,所以报错,然后下载pycurl‑7.43.1‑cp37‑cp37m‑win32.whl后再执行命令pip3 install D:\python\demo\pycurl-7.43.1-cp37-cp37m-win32.whl安装即可,提示Successfully installed pycurl-7.43.1及安装成功!
费了很大事,最后再安装pyspider就OK了,执行命令pip3 install pyspider提示
Successfully installed Flask-1.0.2 Flask-Login-0.4.1 Jinja2-2.10 MarkupSafe-1.0 PyYAML-3.13 Werkzeug-0.14.1 click-6.7 cssselect-1.0.3 defusedxml-0.5.0 itsdangerous-0.24 jsmin-2.2.2 lxml-4.2.5 pyquery-1.4.0 pyspider-0.3.10 tblib-1.3.2 tornado-4.5.3 u-msgpack-python-2.5.0 wsgidav-2.4.1

二、PySpider在Python3.7上运行时会报错

File "/usr/local/lib/python3.7/site-packages/pyspider/run.py", line 231
async=True, get_object=False, no_input=False):
^
SyntaxError: invalid syntax
原因是python3.7中async已经变成了关键字。因此出现这个错误。
修改方式是手动替换一下

下面位置的async改为mark_async
/usr/local/lib/python3.7/site-packages/pyspider/run.py 的231行、245行(两个)、365行
/usr/local/lib/python3.7/site-packages/pyspider/webui/app.py 的95行
/usr/local/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py 的81行、89行(两个)、95行、117行

三、

ValueError: Invalid configuration:
- Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.

3.1 最后定位在了wsgidav3.x问题,pyspider会默认安装wsgidav3.x,解决办法为先把3.x卸载,再装2.x(pip install wsgidav会默认安装2.x我安装的是2.4.1

pip uninstall wsgidav
pip install wsgidav
如果安装的wsgidav本还是3.x,可以在卸载这个版本之后,在安装命令后面加上具体版本号

python -m pip install wsgidav==2.4.1, 此方法未解决问题

3.2 原因是因为WsgiDAV发布了版本 pre-release 3.x。

解决方法如下:

在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行即可。

把 'domaincontroller': NeedAuthController(app),

修改为:

'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app),
},
首次执行pyspider all可能会卡在result_worker starting ...这里,需要用Ctrl + C 中断后重新打开CMD 输入pyspider all就成功了。

四、在实际的调试中发现pyspider的Web预览界面只有一点非常小

原因:web预览框过小的原因在于页面元素的css属性height被替换为60px
所以我们需要更改CSS文件的内容,但是这个应该不是所有浏览器都通用,只是测试了Chrome浏览器是可以的

修改debug.min.css文件内容如下: https://www.jianshu.com/p/7bff6fd4dc1b

参考内容:

1. https://segmentfault.com/a/1190000019487737?utm_source=tag-newest

2. https://www.cnblogs.com/kerbside/p/9630388.html#commentform

3. https://blog.csdn.net/qq_37253540/article/details/88196994

4. https://www.jakehu.me/2019/pyspider/

5. https://www.jianshu.com/p/7bff6fd4dc1b

pyspider安装使用遇到的坑的更多相关文章

  1. Python pyspider 安装与开发

    PySpider 简介 PySpider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器.任务监视器, ...

  2. Appium环境的安装以及一路上的坑

    Appium环境的安装以及一路上的坑 第一步环境的安装 l  javaJDK的安装以及环境变量的配置这个我就不说了网上的教程全都是,搜一个安装一下吧 l  AndroidSDK的安装也是如此我是直接安 ...

  3. flutter 安装过程遇到的坑

    Flutter是一个移动应用程序的软件开发工具包(SDK),用一个代码库构建高性能.高保真的iOS和Android应用程序.目标是使开发人员能够为Android和iOS提供自然的高质量的应用,在滚动行 ...

  4. 1、pyspider安装

    系统环境: centos6.6.python2.7 经测试,python2.6安装的pyspider会导致webui无法正常访问 参考博文: http://cuiqingcai.com/2443.ht ...

  5. 安装redis时候的坑

    安装redis时候的坑 随手记录一下,以此为借鉴. 1.按照需求下载redis服务 redis可视化文件 2.安装及环境搭建 修改服务里redis.windows-service.conf文件,或者r ...

  6. redis安装及遇到的坑-linux

    获取Redis安装包“redis-4.0.8.tar.gz”,上传Linux服务器; 使用root用户解压: tar zxvf redis-4.0.8.tar.gz -C /usr/local/; 进 ...

  7. pyspider 安装使用过程的一些坑

    1.没有正确安装对应版本的pycurl 原因分析: PyCurl 安装错误,需要安装 PyCurl 库(PyCurl 是一个Python接口,是多协议文件传输库的 libcurl.类似于urllib ...

  8. Mac安装mysql遇到的坑

    使用XMPP前安装了mysql,小白遇到好多坑,不要见怪 mysql官网下载,选择Community中扩展名为dmg的文件 安装完成后要记住密码,重要的事情只说一遍,对了,安装时也没有偏好设置和自启动 ...

  9. 安装恢复Windows10各种坑

    1.安装Windows10最好用微软原装ISO,其它的第三方坑比较多,要么不支持UEFI,要么不支持MBR,要么不支持GPT. 2.恢复系统可以使用WIM备份,或Window原生备份,或者Ghost备 ...

  10. pyspider安装

    官方文档上说的比较简单: pip install pyspider 但是实际安装时还是有些问题导致无法成功. windows下安装 先安装PhantomJS 可以依照自己的开发平台选择不同的包进行下载 ...

随机推荐

  1. myBatis插入操作获取不到返回的自增id问题

    myBatis插入操作后想返回自增 id 有多种方式 其中一种使用率较高的就是: 在<insert></insert> 标签中添加 useGeneratedKeys 和 key ...

  2. PHP、JS、css、python、mysql 基本常用函数特殊方法记录

    html <a draggable="false">禁止拖拽</a> css .nowrap{word-break:keep-all;white-space ...

  3. g++ error unrecognized command-line option ‘-std=c++23’; did you mean ‘-std=c++03’?

    编译一个C++的项目代码,报错: g++: error: unrecognized command-line option '-std=c++23'; did you mean '-std=c++03 ...

  4. Modbus调试、Modbus Slave、ModScan、Modbus Ploll、串口调试

    记录一下昨天调试Modbus调试. 上位机往下位机发送modbus指令.发送过去之后没有反应.后来才调试出来原来是下位机错一个位. 调试过程:用modScan 往modbus slave 发送modb ...

  5. php的各种序列化对比

    php的各个序列化反序列化对比如下 function 10万条记录的序列化并写入(ms) 10万条记录文件读取并反序列化(ms) 100条记录序列化并写入(ms) 100条记录文件读取并反序列化(ms ...

  6. 答题判题程序题目集 1~3 的总结性 Blog

    前言 1.1 题目集概述 答题判题程序 - 1: 字符串解析:题目内容和答题内容都是按照特定格式给出的字符串,程序需要能正确地拆分和解析这些字符串,然后进行匹配. 对象和类的使用:为了更好地管理题目和 ...

  7. AbstractQueuedSynchronizer源码解析之ReentrantLock(一)

    在上一篇笔记中提到concurrent包中semaphores, barriers, and latches等Synchronizer的介绍和使用,于是想深入的了解这些Synchronizer的原理和 ...

  8. PHP之常见问题

    汇总在PHP开发中遇到的一些问题 1.post提交参数缺失 场景: 在前端页面发起一个post提交的时候,查看payload中的数据是正常的, 但是在接收的时候,发现只有部分数据,算了一下,包含的数据 ...

  9. 开源 - Ideal库 - Excel帮助类,TableHelper实现(三)

    书接上回,我们今天继续讲解实现对象集合与DataTable的相互转换. 01.把表格转换为对象集合 该方法是将表格的列名称作为类的属性名,将表格的行数据转为类的对象.从而实现表格转换为对象集合.同时我 ...

  10. 鸿蒙UI开发快速入门 —— part03: 组件的生命周期

    1. 什么是组件的生命周期 组件的生命周期是我们开发一个组件必须要关注的内容,组件的生命周期,指的是组件的创建.渲染.销毁等过程.因为这个过程就类似于人从出生到离世的过程,从而称为:组件的生命周期. ...