首页 > 其他分享 >Scrapy 部署错误:subprocess.CalledProcessError 以及解决方案

Scrapy 部署错误:subprocess.CalledProcessError 以及解决方案

时间:2023-07-21 11:37:17浏览次数:39  
标签:错误 部署 解决方案 subprocess Scrapy CalledProcessError

最近在使用 Scrapy 和 Scrapyd 时,我遇到了一个关于 subprocess.CalledProcessError 的问题。在这篇博文中,我将描述这个错误、找出的原因以及最后的解决方案。

错误描述

在使用 scrapyd-deploy 命令部署我的 Scrapy 项目时,我遇到了如下的错误:

subprocess.CalledProcessError: Command '['/Users/zed/PycharmProjects/SpiderBase/venv/bin/python', 'setup.py', 'clean', '-a', 'bdist_uberegg', '-d', '/var/folders/9p/sf1dpw5s6f159j7w1dbnj0f40000gn/T/scrapydeploy-no__5pcp']' returned non-zero exit status 1.

这个错误信息显示,当使用 subprocess 模块运行的子进程返回一个非零的退出状态时,将会抛出 subprocess.CalledProcessError 异常。

问题原因

在一番调试后,我发现问题的原因在于还有 Scrapy 任务在运行。在我尝试部署新的版本时,这些正在运行的任务阻止了部署过程。

解决方案

我找到的解决方案是:在部署新的 Scrapy 项目版本前,需要先确保所有的 Scrapy 任务已经完成或被终止。

总结来说,即使看似复杂的错误也可能有简单的原因和解决方案。在调试时,我们需要保持耐心,并一步步地检查可能出错的环节。

标签:错误,部署,解决方案,subprocess,Scrapy,CalledProcessError
From: https://www.cnblogs.com/seozed/p/17570822.html

相关文章

  • python subprocess 脚本
    实现Pythonsubprocess脚本的步骤1.了解subprocess模块在Python中,subprocess模块用于创建子进程并与其进行通信。它提供了一种执行命令行命令的方式,并允许我们捕获其输出和错误。2.导入subprocess模块在代码的开头,需要导入subprocess模块,以便可以使用其中的相关功能。在Pytho......
  • 针对于 Scrapy 爬虫框架的搭建与解析
    Scrapypipinstallscrapy1、Scrapy爬虫框架爬虫框架:爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。爬虫框架是一个半成品,能够帮助用户实现专业的网络爬虫。解析Scrapy爬虫框架:Scrapy爬虫框架包含”5+2“结构,他有五个主模块以及两个中间键构成。engine......
  • Scrapy在pipeline中集成mongodb
    settings.py中设置配置项MONGODB_HOST="127.0.0.1"MONGODB_PORT=27017MONGODB_DB_NAME="bang123"pipelines.py:fromscrapy.pipelines.imagesimportImagesPipelinefromitemadapterimportis_item,ItemAdapterclassBang123Pipeline:......
  • Scrapy如何在启动时向爬虫传递参数
    高级方法:一般方法:运行爬虫时使用-a传递参数scrapycrawl爬虫名-akey=values然后在爬虫类的__init__魔法方法中获取kwargsclassBang123Spider(RedisCrawlSpider):name="bang123"allowed_domains=["bang123.cn"]def__init__(self,*args,**kwargs):......
  • Scrapy框架爬取HTTP/2网站
    scrapy本身是自带支持HTTP2的爬取:https://docs.scrapy.org/en/latest/topics/settings.html?highlight=H2DownloadHandler#download-handlers-base需要把这个包安装一下#本身scrapy就是基于Twisted的,http2是一个拓展包Twisted[http2]>=17.9.0然后在settings.py中打开下载......
  • Scrapyd、scrapyd-client部署爬虫项目
    命令参考:https://github.com/scrapy/scrapyd-clienthttps://scrapyd.readthedocs.io安装组件pipinstallscrapydpipinstallscrapyd-clientScrapyd服务器端服务器端是可以有多个的,你爱多少个就搞多少个服务器端。部署scrapy时,可以手动指定部署到那个目标服务器端中。scr......
  • Scrapy框架架构
    ENGINE:引擎,负责各个组件的管理。SPIDERS:各个爬虫文件类。(我们一般要写的代码就是这个)。SCHEDULER:调度器,ENGINE将爬虫任务分发给该组件,由该组件调度爬虫任务。DOWNLOADER:下载器,用于接收SCHEDULER的任务,并向指定的URL发起请求然后返回响应数据给SPIDERS组件,交给SPIDER组件进一......
  • Scrapy创建项目、爬虫文件
    创建项目执行命令scrapystartproject<项目名>项目结构创建爬虫文件方式一:通过命令生成scrpaygenspider<爬虫名(必须唯一)><domain><爬虫名>:必须时唯一的<domain>:这个随意填,因为后期会修改爬虫文件中的start_url属性。方式二:在项目的spider包下,自己编写一......
  • Scrapy爬虫文件代码基本认识和细节解释
    importscrapyfromscrapy.http.requestimportRequestfromscrapy.http.response.htmlimportHtmlResponsefromscrapy_demo.itemsimportForumItemclassBaiduSpider(scrapy.Spider):#name必须是唯一的,因为运行一个爬虫是通过name来选择的。#你需要运行命......
  • subprocess Python执行系统命令最优选模块
    简介subprocess是Python中执行操作系统级别的命令的模块,所谓系级级别的命令就是如ls/etc/userifconfig等和操作系统有关的命令。subprocess创建子进程来执行相关命令,并连接它们的输入、输出和错误管道,获取它们的返回状态。subprocess来源Subprocess模块开发之前,标准......