当前位置: 首页 > news >正文

Ubuntu24上安装Scrapy框架实战

文章目录

  • 1. 直接安装Scrapy导致错误
  • 2. 三种解决问题的方法
    • 2.1 使用pipx安装Scrapy
    • 2.2 使用虚拟环境安装Scrapy
    • 2.3 通过apt安装Scrapy
  • 3. 安装Scrapy框架实战小结

1. 直接安装Scrapy导致错误

  • 执行命令:pip install scrapy
    在这里插入图片描述
  • externally-managed-environment 错误是由于现代 Linux 发行版(如 Ubuntu 24.04、Debian 12+)为了保护系统稳定而引入的机制(PEP 668)。直接使用 pip install 会触发此限制。

2. 三种解决问题的方法

2.1 使用pipx安装Scrapy

  1. pipx命令说明

    • 专为安装 Python 命令行工具(如 Scrapy、black、httpx 等)设计,自动管理虚拟环境。安全、干净、自动管理环境,安装后可全局使用 scrapy 命令,符合现代 Python 最佳实践。
  2. 安装scrapy步骤

    • 安装pipx,执行命令:apt install pipx
      在这里插入图片描述
    • 重启虚拟机,执行命令:reboot
      在这里插入图片描述
    • 重新连接虚拟机
      在这里插入图片描述
    • 安装scrapy,执行命令:pipx install scrapy
      在这里插入图片描述
    • 执行命令:pipx ensurepath,自动将 pipx 安装的应用程序的路径添加到PATH环境变量中
      在这里插入图片描述
    • 执行命令:source ~/.bashrc,让环境配置变化生效
      在这里插入图片描述
  3. 验证是否安装成功

    • 执行命令:scrapy --version
      在这里插入图片描述

2.2 使用虚拟环境安装Scrapy

  1. 虚拟环境安装说明
    • 创建独立环境,避免影响系统 Python。优点:完全隔离,安全可靠,适合开发项目;缺点:每次使用前需source激活环境。
  2. 虚拟环境安装步骤
    • 创建虚拟环境,执行命令:python3 -m venv ~/my-scrapy-env
      在这里插入图片描述
    • 激活虚拟环境,执行命令:source ~/my-scrapy-env/bin/activate
      在这里插入图片描述
    • 安装Scrapy框架,执行命令:pip install scrapy
      在这里插入图片描述
      在这里插入图片描述
  3. 验证是否安装成功
    • 执行命令:scrapy --version
      在这里插入图片描述
    • 执行命令:deactivate,退出虚拟环境
      在这里插入图片描述

2.3 通过apt安装Scrapy

  1. 通过apt安装说明
    • 使用系统包管理器安装(但 Scrapy 通常不在官方源中),实际情况:Scrapy 一般不在 Ubuntu/Debian 官方源中,此方法通常不可行。
  2. 通过apt安装步骤
    • 执行命令:apt search python3-scrapy,查看官方源中是否存在Scrapy
      在这里插入图片描述
    • 执行命令:sudo apt install python3-scrapy
      在这里插入图片描述
    • 输入y之后,敲回车,继续安装,直到完成
      在这里插入图片描述
  3. 验证是否安装成功
    • 执行命令:scrapy --version
      在这里插入图片描述
    • 前两种方法安装的Scrapy,版本都是2.13.3,而用apt安装的Scrapy版本是2.11.1,版本低一点。

3. 安装Scrapy框架实战小结

  • 在安装Scrapy框架的过程中,我们探索了三种不同的方法:使用pipx、创建虚拟环境以及通过系统包管理器apt。每种方法都有其独特的优势和适用场景。pipx提供了最简洁的全局安装方式,自动管理虚拟环境,确保命令行工具如Scrapy能够安全、干净地运行,特别适合需要频繁使用命令行工具的开发者。虚拟环境则为项目开发提供了一个完全隔离的环境,避免了不同项目间的依赖冲突,非常适合团队协作和项目开发。然而,它要求每次使用前激活环境,稍显繁琐。最后,虽然通过apt安装的方法在官方源中通常不可行,但在某些特定情况下,它能提供一个稳定且版本固定的安装选项。总的来说,选择合适的安装方法应基于具体需求和使用场景,以实现最佳的开发体验和项目管理效果。
http://www.dtcms.com/a/393040.html

相关文章:

  • 正向shell,反弹shell学习
  • 一维数组原地更新——力扣119.杨辉三角形II
  • Python语法学习-1
  • Linux基础命令大全
  • 9.21 快速选择
  • 【常见集合】HashMap
  • Docker安装小白教程(阿里yum)
  • MySQL表结构变更详解:ALTER TABLE ADD COLUMN语法、最佳实践与避坑指南
  • 【LeetCode - 每日1题】设计电子表格
  • Spring 中 REQUIRED 事务的回滚机制详解
  • C++框架中基类修改导致兼容性问题的深度分析与总结
  • 学习笔记-SpringBoot项目配置
  • Java数据结构——时间和空间复杂度
  • 如何在接手新项目时快速上手?
  • Zynq开发实践(SDK之自定义IP2)
  • 数据库相关锻炼
  • PostgreSQL 入门与实践
  • pytorch基本运算-PyTorch.Tensor张量数据类型
  • 数据结构与算法 第三章 栈
  • Spring Boot 整合 MyBatis:从入门到企业级实践
  • FHook Java 层全函数 HOOK 框架
  • TDengine 聚合函数 STDDEV_POP 用户手册
  • 【 嵌入式Linux应用开发项目 | Rockit + FFmpeg+ Nginx】基于泰山派的IPC网络摄像头
  • 机器学习中的高准确、低召回
  • Go基础:Go基本数据类型详解
  • 项目管理(一)
  • 【STM8L101 执行函数FLASH_ProgramBlock出现问题】
  • ​​[硬件电路-278]:双向双电源电平转换收发器74AXP2T45DCH功能概述、管脚定义
  • 音视频同步的原理和实现方式
  • BUG调试案例十八:TPS5430输出震荡问题案例