一、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. Nuxt.js 应用中的 pages:extend 事件钩子详解

    title: Nuxt.js 应用中的 pages:extend 事件钩子详解 date: 2024/10/25 updated: 2024/10/25 author: cmdragon excerp ...

  2. 工作中的技术总结 _Thymeleaf限制字符串的展示长度 _20210910

    工作中的技术总结 _Thymeleaf限制字符串的展示长度 _20210910 比较简单就这一行代码 #strings.abbreviate 应该是调用了 thymeleaf 的内置函数 这一个方法的 ...

  3. JS函数:递归函数与迭代函数

    1.递归函数 : 程序中调用自己的函数 程序调用自身的编程技巧称为 递归( recursion).递归作为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方 ...

  4. house of cat

    调用方法 调用链1 house of cat调用链 __malloc_assert 在 2.35 的 glibc 中源码如下 static void __malloc_assert (const ch ...

  5. Hadoop未授权访问

    Hadoop未授权访问 是什么? Hadoop 是一种用来处理和存储大量数据的软件工具,可以用来日志分析,推荐系统,数据备份   核心组件: 存储大数据:HDFS 文件系统 处理大数据:MapRedu ...

  6. 【总结】线性dp的几种重要模型

    当前点定义 \(f[i]\) :走到第 \(i\) 个点的方案数 / 最值. \(f[i][j]\) :走到第 \(i\) 个点,选了 \(j\) 个的答案. 依据题目的限制个数可以继续添加维数,也可 ...

  7. 5.2 Vi和Vim之间到底有什么关系?

    我们知道,Vi 编辑器是 Unix 系统最初的编辑器.它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行.在文件中移动.插入.编辑和替换文本. 尽管 Vi 可能是世界上复杂的编辑器(讨厌它的人 ...

  8. Python中dict支持多个key的方法

    在Python中,字典(dict)是一种非常强大的数据结构,它允许我们通过键(key)来存储和检索值(value).有时候,我们可能想要根据多个键来检索或操作字典中的数据.虽然Python的字典不直接 ...

  9. Ubuntu apt-cache命令查找可用软件包

    本文GoFace给大家讲解下在Ubuntu及相同包管理的linux系统下如何查找可用软件包.在Ubuntu上大家一般使用apt-get安装软件,如果想查找某一包软件仓库中是否有,并不是使用apt-ge ...

  10. 基于 JUnit 的全局单元测试程序

    在 Java 程序中,JUnit 是备受开发人员喜爱的单元测试工具.通常,程序员会对每个程序的每个模块写单元测试.对于小型程序来说,程序员只需要手工执行这些单元测试程序就可以,工作量并不大,但是对于中 ...