热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在CentOS系统中安装Scrapy时常见的问题及解决方法

在CentOS7系统中安装Scrapy时遇到了一些挑战。尽管Scrapy在Ubuntu上安装简便,但在CentOS7上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用Scrapy进行网络爬虫开发。

环境:centos7、python2.7

最近想做爬虫,觉得scrapy这个框架比较好,但是这个框架对ubuntu的支持很好,安装非常便捷,不过我用的centos7,折腾了不少时间。存在的问题跟其它人都一样,就是包依赖性的问题。
官方文档说,使用pip安装scrapy之前需要setuptools,pip依赖于setuptools,默认自带,所以不必安装。如果你不放心可以使用 pip install setuptools,会提示你已经安装好了。
官方文档还说,需要安装lxml。lxml顾名思义,是用来解析XML、HTML并建立DOM的库,依然使用 pip install setuptools安装。
另外还需要openssl。openssl因为其“心脏出血”漏洞,以及其后暴露出的项目组管理上问题受到了开源社区和各大操作系统厂家的批评,不过我们的scrapy框架依赖于openssl,所以还得安装它。各大linux上基本都默认安装了openssl,可以使用rpm -qa openssl查看,并使用yum -y install openssl安装。
在做完以上前期工作之后,我使用pip install scrapy,安装了一会后出现提示:

Command “/usr/bin/python -c “import setuptools, tokenize;file=’/tmp/pip-build-6svGBx/cffi/setup.py’;exec(compile(getattr(tokenize, ‘open’, open)(file).read().replace(‘\r\n’, ‘\n’), file, ‘exec’))” install –record /tmp/pip-JJNTSq-record/install-record.txt –single-version-externally-managed –compile” failed with error code 1 in /tmp/pip-build-6svGBx/cffi

意思应该是编译cffi的时候出了问题,于是尝试pip install cffi出现类似的错误提示,确定是这个错误了,但是为什么导致了这个错误以及怎样解决不知道。于是上overstack、百度、google搜,发现大部分人的问题都是包依赖性的问题,我觉得我这个也有很大可能是这个原因。于是按照其他人的做法,安装了很多包,最后发现错误出现在一个叫 libffi的库上面,libffi是一个用于高级语言之间的相互调用的处理的库。于是 pip install libffi-devel,然后pip install scrapy,成功!问题应该是编译cffi的时候少了libffi库!
问题因环境和操作而异,但是我觉得centos上安装scrapy的绝大多数问题都是包和库依赖性的问题,多看看其他人的解决方法、多试试就肯定能解决的。


推荐阅读
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • 本文介绍了一种方法,通过在Linux启动时运行一个Python程序,该程序可以在PMOD OLED上显示PYNQ板的IP地址。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
author-avatar
忧伤丿稻草展
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有