记一次 python 3.6.4安装Scrapy 从lxml导入etree错误

2024-01-12 15:48

本文主要是介绍记一次 python 3.6.4安装Scrapy 从lxml导入etree错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题
  • 将scrapy放到定时任务中执行,不适用scrapyd

问题

对python不熟悉,使用scrapy做了一个爬虫后准备部署到客户服务器,服务器版本是Centos 7python版本是3.6.4;安装scrapy可以正常安装,但是运行scrapy提示etree导入出错;各种搜索后都不能正常使用(还不知道有virtualenv这种东西);有的说是安装lxml版本3.4,但是scrapy2.0.1都要求3.5.0的lxml;我是使用2.4.1scrapy写的,如果使用1.*版本的scrapy怕程序出问题,所以找其他方法,docker可以实现但是折腾也不少最后是卡在连接宿主机的mysql上由于是客户的主机不太敢随意变更mysql的服务和修改配置,放弃;
最后使用virtualenv安装了python3.8后才可以使用的。使用virtualenv一定注意不能使用默认的安装包,也就是如果默认python3.6安装了scrapy,那么即使是使用了virtualenv也是不可以的,它还是会以python3.6来执行scrapy,错误里面有python3.6的字样(好像可以添加参数-no-site-packages,具体忘记了,但是我可能操作不正确,导致不起做作用);所以我就是卸载了系统安装的scrapy,在virtualenv的环境里安装scrapy才成功。

将scrapy放到定时任务中执行,不适用scrapyd

假如有多个爬虫需要不间断运行,那么写一个shell脚本;使用定时任务定时执行

  1. 创建shell脚本test.sh
#!/bin/bash
#p1=hu
#p2=ty
#s=`ps -ef|grep $p1|grep -v 'grep'|awk '{print $2 $3 $4}'`
#echo $p1
#echo $s
#cd /root/test_pro/shangpuSpider/pro2/bin
#m=`ls `
#echo $m
#m=`./scrapy list`
#echo $m#进入目录
cd /root/test_pro/shangpuSpider/pro2/bin
#循环列表
for item in hu ty ly lz km sq xn xj yc
do
#查找是否在运行res=`ps -ef|grep "scrapy crawl ${item}"|grep -v 'grep'|awk '{print $1 $2}'`#echo $resif [ -n "$res" ]thenecho $reselse#如果不存在,则运行echo 'not found res'nohup ./scrapy crawl ${item} -s ENV=prod 2>&1 & fi
done
  1. 给脚本添加执行的权限
    chmod +x test.sh
  2. 添加定时任务, crontab -e ,添加如下内容(每5分钟执行一次test.sh
    */5 * * * * /root/test.sh

这篇关于记一次 python 3.6.4安装Scrapy 从lxml导入etree错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/598355

相关文章

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停