You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用pip安装Scrapy时出现安装错误的技术咨询

解决Scrapy安装时Twisted编译失败的问题

这个问题我遇到过好多次了——本质是安装Scrapy的依赖库Twisted时,需要编译C语言扩展,但你的系统里要么缺少对应的C编译环境,要么环境配置没到位,导致cl.exe(微软的C/C编译器)运行失败。

先帮你把错误信息整理出来:

error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\paran\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\paran\AppData\Local\Temp\pip-install-sa3_a6ft\Twisted\setup.py'"'"'; __file__='"'"'C:\Users\paran\AppData\Local\Temp\pip-install-sa3_a6ft\Twisted\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\paran\AppData\Local\Temp\pip-record-egqr0bb7\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\paran\appdata\local\programs\python\python38\Include\Twisted'

给你三个解决方案,按省心程度排序:

1. 直接用预编译的Wheel包(最快捷,不用折腾编译)

Windows下很多Python库都有预编译好的二进制包(.whl格式),完全跳过源码编译步骤:

  • 先升级pip和wheel工具:
    python -m pip install --upgrade pip wheel
    
  • 强制用二进制包安装Scrapy:
    pip install --only-binary :all: scrapy
    
    如果上面的命令还是卡壳,就单独先装Twisted的wheel:
    1. 找对应你Python3.8、系统64位(win_amd64)的Twisted wheel包
    2. 下载后用pip安装这个本地文件:
      pip install 你下载的Twisted文件名.whl
      
    3. 再正常安装Scrapy就行:pip install scrapy

2. 安装匹配的Visual Studio编译工具

你的Python3.8是用MSVC 14.0(对应Visual Studio 2015)编译的,所以需要对应版本的编译工具链:

  • 下载打开Visual Studio Installer(没有的话去微软官网下)
  • 在「工作负载」里勾选**「使用C++的桌面开发」**
  • 右侧「单个组件」里一定要选**「MSVC v140 - VS 2015 C++生成工具(v14.00)」**
  • 安装完成后重启命令行,再试pip install scrapy

3. 用开发者命令提示符运行安装(如果已经装了编译工具还是报错)

如果你已经装了VS2015的编译工具,但环境变量没自动配置好:

  • 打开开始菜单,搜「VS2015 x64 本机工具命令提示符」
  • 在这个窗口里直接执行pip install scrapy——这个提示符会自动帮你配置好编译所需的所有环境变量

内容的提问来源于stack exchange,提问作者Paranjyoti Lahkar

火山引擎 最新活动