安装Scrapy所遇的环境问题

本文详细记录了在Windows 7系统上,使用Python 2.7.9版本安装Scrapy爬虫框架的全过程。包括解决pip版本不兼容问题,以及因缺少编译环境导致的安装失败等常见错误,提供了具体的解决方案。

首先申明,我的系统是win7,python版本=2.7.9;

1、安装Scrapy,先cmd,弹出命令窗口,输入:pip insall Scrapy

安装报错,提示pip版本不支持,升级pip版本;

于是按照提示解决pip版本问题,但是升级pip版本首先遇到了问题:

2、升级pip(从9.0.1升级到18.0.1),输入命令:python -m pip install -U pip  

注意:开始输入python -m pip install --upgrade pip时,一直升级失败;

然后接着安装Scrap,又遇到如下错误

原因:windows下使用pip安装包的时候需要机器装有vs2008,VS2012还不行,如果不想装VS2008的话,可以安装一个Micorsoft Visual C++ Compiler for Python 2.7的包

解决:安装Microsoft Visual C++ Compiler for Python 2.7

途径:在http://aka.ms/vcpython27下载VCForPython27.msi
 

任务描述 相关知识 Scrapy安装与新建项目 Windows下安装 Linux/Unix下安装 Mac OS下安装 Anaconda安装Scrapy Scrapy新建项目 编程要求 测试说明 任务描述 本关任务:借助Scrapy框架编写一个最基本的爬虫小程序,掌握Scrapy的基础理论和使用。 相关知识 Scrapy安装与新建项目 Windows下安装 由于 Python 官方已经宣布在 2020 年停止对 Python2 的支持,因此本教程的相关 Python 操作均是在 Python3 下进行的,请确保所使用的电脑上已安装 Python3。 在 Windows 环境下,如果安装好了 Python3 ,可以借助 pip 进行 Scrapy 进行安装: pip install scrapy 由于 Scrapy 依赖 Wheel、Twisted、Pillow 等第三方包,所以安装过程中很可能会由于依赖缺失而导致安装失败,这时可以根据提示依次进行各依赖的安装并最终完成 Scrapy安装。 Linux/Unix下安装 同样的请先确保安装了 Python3,之后需要在命令行下执行: pip3 install scrapy 如果出现类似于ModuleNotFoundError: No module named 'twisted.persisted' 等由于依赖缺失导致的报错,请先使用pip install命令完成相应依赖的安装,之后即可完成 Scrapy安装。 Mac OS下安装 由于 Mac OS 自带了 Python2 版本,因此我们建议先升级到 Python3: brew install python 此时系统中同时具备了 Python2 和 Python3 ,需要不同的命令去开启不同版本的 Python: #开启Python2 $: python #开启Python3 $: python3 由于 Python 进行了升级因此 pip 命令也失效了,此时我们可以使用pip3命令进行 Scrapy安装: pip3 install scrapy 安装过程中,依然可能会出现由于依赖缺失而导致报错,此时在安装完缺失的依赖后,再进行 Scrapy安装。 Anaconda安装Scrapy Anaconda 是一个开源的 Python 发行版本,其包含了 conda、Python 等 180 多个科学包及其依赖项。在使用 Anaconda 安装 Scrapy 前,请先检查是否已经安装Scrapy: conda list 如果没有安装,则可使用 conda 命令进行安装: conda install scrapy 之后 conda 会帮助我们自动完成相关依赖的下载,并最终完成 scrapy安装。 在安装成功后,仍需再执行以下命令,来最后安装 Scrapy 依赖的安装: conda install service_identity 在对应的平台中依据各自对应的方法完成 Scrapy安装后,可以通过执行 Scrapy 命令来校验 Scrapy 是否已被正确安装,如下所示: # Mac OS下执行Scrapy命令以校验Scrapy是否已安装 root:~ /$ scrapy Scrapy 1.5.1 - no active project Usage: scrapy <command> [options] [args] Available commands: bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project) settings Get settings values shell Inte\fractive scraping console startproject Create new project version Print Scrapy version view Open URL in browser, as seen by Scrapy [ more ] More commands available when run from project directory 如果在执行 Scrapy 命令后,输出了类似于以上所示的信息,则说明 Scrapy 已被正确安装Scrapy新建项目 Scrapy 提供了脚手架功能,即我们可以借助 Scrapy 的脚手架功能方便快捷地生成 Scrapy 爬虫程序的整个工程目录及涉及到的各个文件。 Scrapy 的脚手架命令用法如下所示: scrapy startproject [爬虫名字] 在指定目录下执行上述命令后,scrapy 会帮我们生成爬虫程序的目录及文件,如下所示为命令使用及输出信息示例: #Mac OS下利用Scrapy创建项目 root:~test$ scrapy startproject litteScrapyCrawler New Scrapy project 'litteScrapyCrawler', using template directory '/usr/local/lib/python3.7/site-packages/scrapy/templates/project', created in: /Users/test/litteScrapyCrawler You can start your first spider with: cd litteScrapyCrawler scrapy genspider example example.com cd litteScrapyCrawler scrapy genspider 爬虫名 作用的域名 例:scrapy genspider Hello www.educoder.net 从以上的输出信息中可以看出,我们在 /Users/test 目录下执行了脚手架命令,创建了名字为littleScrapyCrawler的爬虫程序,之后 Scrapy 帮助我们生成了 littleScrapyCrawler 目录,观察 littleScrapyCrawler 的目录我们发现如下所示的目录结构,从途中可以看到,生成目录中具有多个文件。 编程要求 为了帮助学习者掌握 Scrapy 基础,在命令行完成以下任务: 使用 Scrapy 框架,在当前目录/root下,创建一个名为 HelloWorld 的爬虫程序框架,框架中爬虫名为 world ,作用域名为 www.baidu.com。 测试说明 平台会检测生成的代码框架的命名、结构及内容是否正确。
09-29
<think>嗯,用户询问Scrapy是否可以安装在非C盘。从用户提供的引用内容来看,引用[2]中提到Scrapy被默认安装到C盘的AppData/Roaming目录下,导致环境变量配置问题。引用[4]则提到了通过Anaconda配置环境变量的方法,暗示安装位置可以调整。 用户可能是Windows用户,到了磁盘空间不足的问题,或者有管理软件安装位置的习惯。ta的深层需求可能是想避免占用C盘空间,或是解决因安装位置导致的环境配置错误。从引用[2]的崩溃描述看,用户可能已经经历过安装失败,现在特别关注安装路径的灵活性。 技术上分析:Scrapy本身作为Python包,安装位置实际由Python环境和包管理工具决定。关键点有三个: 1. Python解释器位置 - 若Python装在D盘,pip安装的包自然在D盘 2. 虚拟环境设置 - venv或conda环境可创建在任何磁盘 3. 环境变量配置 - 无论装在哪个盘,需确保Scripts目录加入PATH 需要特别提醒用户注意Windows的权限问题,很多安装失败源于无管理员权限写入C盘。建议方案可以分三层说明:常规Python安装、Anaconda方案、虚拟环境方案,每种都明确指向非C盘路径的操作要点。 用户引用中多次出现环境变量配置失败(引用[2][4]),说明这是常见痛点。在回答时要强调"无论选择哪种方式,都必须检查环境变量是否包含对应Scripts路径"。顺便可预判ta的后续问题:如果用户已经误装到C盘,如何迁移到其他盘? </think>根据引用内容和Scrapy安装机制分析,Scrapy**完全可以安装在非C盘**,具体实现方式如下: --- ### 解决方案 #### 1. **Python环境安装在非C盘**(核心前提) - 安装Python时自定义路径(如 `D:\Python39`) - 验证安装位置: ```powershell # 查看Python安装路径 where python ``` - 此时通过pip安装的包(包括Scrapy)将自动存放到该Python目录下的 `Lib\site-packages` 中,例如: $$ \text{D:\Python39\Lib\site-packages} $$ #### 2. **Anaconda环境配置**(推荐方案 [^4][^5]) - 安装Anaconda时选择非C盘路径(如 `E:\Anaconda3`) - 激活环境安装Scrapy: ```powershell conda create -n scrapy_env python=3.9 # 在E盘创建环境 conda activate scrapy_env pip install scrapy ``` - 需添加环境变量:将 `E:\Anaconda3\Scripts` 加入系统PATH [^4] #### 3. **虚拟环境定向安装**(灵活方案) ```powershell # 在D盘创建虚拟环境 python -m venv D:\scrapy_venv D:\scrapy_venv\Scripts\activate # 激活环境 pip install scrapy # 此时Scrapy安装到D盘虚拟环境中 ``` --- ### 关键注意事项 1. **环境变量配置** 无论何种安装方式,必须将对应路径(如 `D:\Python39\Scripts` 或 `E:\Anaconda3\Scripts`)加入系统PATH变量,否则会报错找不到命令[^2][^4]。 2. **依赖库兼容性** 若Twisted等依赖安装失败,需下载与Python版本匹配的`.whl`文件手动安装到目标盘[^4]: ```powershell pip install D:\Downloads\Twisted-18.9.0-cp39-cp39-win_amd64.whl ``` 3. **权限问题** 安装到非系统盘可避免C盘的权限限制(尤其Windows系统)[^2]。 --- ### 操作验证 安装完成后执行: ```powershell scrapy startproject myproject D:\scrapy_projects # 在D盘创建项目 ``` 若项目成功生成,则证明非C盘安装有效。 --- ### 常见问题解决 - **报错`Fatal error in launcher`** 通常由环境变量未更新引起,需重启终端或检查PATH路径是否包含安装目录[^2]。 - **报错`No module named 'scrapy'`** 虚拟环境未激活或Python解释器路径错误,检查当前环境: ```powershell python -m scrapy version ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值