热门标签 | 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的绝大多数问题都是包和库依赖性的问题,多看看其他人的解决方法、多试试就肯定能解决的。


推荐阅读
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 近期在研究逆向工程,因此尝试了一些CTF题目。通过合天网络安全实验室的CTF实战演练平台(http://www.hetianlab.com/CTFrace.html),我对Linux逆向工程的掌握还不够深入,因此暂时跳过了RE300题目。首先从逆向100开始,将文件后缀名修改为.apk进行初步分析。这一过程不仅帮助我熟悉了基本的逆向技巧,还加深了对Android应用结构的理解。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 在Ubuntu系统中安装GNU C++编译器g++ ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
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社区 版权所有