Python pip install 也能踩坑!

在这里插入图片描述

难得有心情、空余时间上手 Scrapy,前一段时间看到一个很好的免费壁纸网站,想着下手爬取看看,反正还有一个 500G 的硬盘在吃灰,用于存放美图不是不可以。也是很久没接触 Scrapy,上一次使用还是上一次,先准备环境吧!

Just do it

1、在已安装 python 前提下安装 scrapy

pip install Scrapy

2、随机打开 vscode,创建一个 scrapy 项目

scrapy startproject wallpaper

在这里插入图片描述

3、创建 spider,一个继承自 scrapy.Spider 的类

vscode 上运行失败,不是吧!!!这也能踩坑里去

在这里插入图片描述

问题

明明已经‘准确无误’地执行了 pip install Scrapy,也没有明显报错啊,可是 Scrapy 导包就是找不到,难道说我的 python 环境存在异常?

分析、排查

一开始确实懵,甚至一度怀疑是不是 vscode 的问题啊?不管三七二十一,使用 pyCharm 直接打开这个项目看看,配置 python 解释器、运行、运行成功,纳尼(ÒωÓױ)!

在这里插入图片描述

若反复对比两者控制台日志输出,细心的你可能已经注意到日志显示执行 main.py 所使用的 python 路径(版本)不一致。

大胆猜测:

  • pip 命令安装的包默认指向 python3.9,而不是 python3.10.1?
  • 难道系统环境变量配置的 pip 指向的是 python3.9,执行 pip 安装的包都归属在 python3.9,而使用 python3.10.1 执行就是不对的?

vscode 上运行 python 路径:

E:/python3.10.1/python.exe

pyCharm 上运行 python 路径:

C:\Users\YTS\AppData\Local\Microsoft\WindowsApps\python3.9.exe

验证猜想

在这里插入图片描述

修改 vscode python 解释器,将原先选择 python3.10.1 配置重新指向 python3.9,重新运行成功!

难道我的猜想是正确的?如果我电脑没有安装多个 python 版本应该就不会踩到这个坑里去了吧~

下班回家,继续排查

八点四十才下班,开了一个半小时的会!下班回到家,饭后 … … 打开电脑(家里的电脑)准备继续爬虫编写,同样的,打开 vscode 发现 scrapy 还是没有正确导入,环境配置真是一件令人头疼的事情,撸起袖子加油干。

尝试一:不应该啊~

家里的电脑也有多个 python 版本(有一个默认安装路径的版本,还有一个 anaconda 版本),先尝试切换 vscode python 版本,重新执行 scrapy 安装等:经过多次尝试最终以失败告终

在这里插入图片描述

尝试二:成功解决!

  • 先查看环境变量,确认所配置的 python 、pip 到底指向哪里?

more .bash_profile 环境变量没问题

在这里插入图片描述
cd /usr/locl/bin 、ls -al 后面链接指向的地方和环境变量能够匹配上,无误。
但是发现显示的是 python3 和 pip3!按照经验执行一次pip3 install Scrapy 观察看看情况,稍等一会 … … 安装成功、导包也正常!

在这里插入图片描述

有时候因为没有 VPN(科学上网),安装过程中可能会遇到下载超时 TimeoutError: The read operation timed out 错误,不要慌,可以尝试多次(我就是这样的),或者更换合适的网络即可!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试|解决Github port 443 : Timed out连接超时的问题

前言 GitHub是全球最大的开源代码托管平台之一,许多开发者和团队使用它来管理和协作开源项目。但在当下,我们在clone或者提交代码时会经常遇到"GitHub Port 443: Timed Out"错误,这意味着我们的电脑无法建立与GitHub服务器的安全连…

redis之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

【PyTorch】在PyTorch中使用线性层和交叉熵损失函数进行数据分类

在PyTorch中使用线性层和交叉熵损失函数进行数据分类 前言: 在机器学习的众多任务中,分类问题无疑是最基础也是最重要的一环。本文将介绍如何在PyTorch框架下,使用线性层和交叉熵损失函数来解决分类问题。我们将以简单的Iris数据集作为起点…

Linux 批量添加 known_hosts

前言 我们在做完linux ssh 免密登录后,通常会执行一些自动化任务(比如启动Spark集群),也就是需要ssh到每台节点执行相同命令。但是有一个问题就是如果 known_hosts 文件中不存在这个ip的话,在第一次连接时会弹出确认公…

【小笔记】算法基础超参数调优思路

【学而不思则罔,思维不学则怠】 9.29 本文总结一下常见的一些超参数调优思路 Batch_size 2023.9.29 简单来说,较大的bz可以加快训练速度,特别是基于GPU进行模型训练时,应该在显存允许范围内,尽量使用较大的bz。两个…

超实用+全覆盖!17个大分类,近500款主流实用精品AI工具导航,太贴心了!总有一款适合你。

超实用全覆盖!17个大分类,近500款主流实用精品AI工具导航,太贴心了!总有一款适合你。 大家好!我是老码农。 今天给大家分享的这个工具导航:非常棒。 那棒在哪里呢? 第1点:非常垂…

SpringAOP-说说 Spring AOP 和 AspectJ AOP 区别

Spring AOP Spring AOP 属于运行时增强,主要具有如下特点: 基于动态代理来实现,默认如果使用接口的,用 JDK 提供的动态代理实现,如果是方法则使用 CGLIB 实现Spring AOP 需要依赖 IOC 容器来管理,并且只能…

IOS-相机权限申请-Swift

配置描述 在Info.plist文件中,新建一个键值对Privacy - Camera Usage Description(或者NSCameraUsageDescription),值为申请描述说明,自定义的 申请 然后在需要申请的文件中导入AVFoundation import AVFoundation…

nodejs学习计划--(一)初始nodejs

1. 介绍nodejs Node.js是什么? Node.js是一个开源的,跨平台的Javascript运行环境 通俗来讲:Node.js就是一款应用程序,是一款软件,它可以运行JavaScript Node.js的作用: 开发服务器应用开发工具类应用开发…

美国 SEC 批准比特币现货 ETF 上市,SEC 告诉我们的风险包含哪些?

撰文:Will 阿望 查看原文:美国 SEC 批准比特币现货 ETF 上市,SEC 告诉我们的风险包含哪些? 历经十年的 BTC ETF 艰辛审批之路终于迎来了胜利的曙光,2024 年 1 月 11 日凌晨 4 时,美国证监会(S…

浅谈Vue中监听属性—watch监听器的使用方法

目录 💡 监听属性的概念 💡 watch有什么作用 💡 watch的基本语法 💡 监听属性的优缺点 💡 使用watch的场景 💡 监听属性的概念 在计算机科学中,watch是一种调试技术,用于监视程…

【SQL】SQL语法小结

相关资料 参考链接1:SQL 语法(超级详细) 参考链接2:史上超强最常用SQL语句大全 SQL练习网站:CSDN、牛客、LeetCode、LintCode SQL相关视频: 推荐书籍: 文章目录 数据分析对SQL的要求SQL语法简介…

onlyoffice源码编译

环境准备 官网要求CPU dual core 2 GHz or better RAM at least 2 GB, but depends of the host OS. More is better HDD at least 40 GB of free space SWAP at least 4 GB, but depends of the host OS. More is better SoftwareOS 64-bit Ubuntu 16.04 The solution has be…

ARM day1

一、概念 ARM可以工作的七种模式用户、系统、快中断、中断、管理、终止、未定义ARM核的寄存器个数 37个32位长的寄存器,当前处理器的模式决定着哪组寄存器可操作,且任何模式都可以存取: PC(program counter程序计数器) CPSR(current program…

QT上位机开发(dock窗口在软件布局中的应用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在软件开发中,一般有主窗口和子窗口之分。主窗口也就是main window,是最重要的操作界面。子窗口就是各种属性配置、参数配置…

USB8814动态信号采集卡——声音振动类信号处理的理想之选!

背景介绍: 科技的发展在一定程度上依赖于对信号的处理,信号处理技术的先进性在很大程度上决定了科技发展的速度和方向。数字信号处理技术的崛起,彻底改变了传统的信息与信号处理方式,使得数据采集这一前期工作在数字系统中发挥着…

使用PyTorch实现混合专家(MoE)模型

Mixtral 8x7B 的推出在开放 AI 领域引发了广泛关注,特别是混合专家(Mixture-of-Experts:MoEs)这一概念被大家所认知。混合专家(MoE)概念是协作智能的象征,体现了“整体大于部分之和”的说法。MoE模型汇集了各种专家模型…

网页设计(六)表格与表格页面布局

一、设计《TF43: 前端的发展与未来》日程表 《TF43: 前端的发展与未来》日程表 文字素材: 前端是互联网技术的重要一环,自上世纪80年代万维网技术创立以来,Web成就了大量成功的商业公司,也诞生了诸多优秀的技术解决方案。因其标…

SDRAM小项目——命令解析模块

简单介绍: 在FPGA中实现命令解析模块,命令解析模块的用来把pc端传入FPGA中的数据分解为所需要的数据和触发命令,虽然代码不多,但是却十分重要。 SDRAM的整体结构如下,可以看出,命令解析模块cmd_decode负责…

网络分层及三次握手

5-网络 数据传输 服务器如何响应 网络分层和概念 2个地址:ip:逻辑地址;mac物理地址 通信过程中链路会发生转换,但是网络层寻址是不变的 ip地址不变,mac会变 每层的协议 每层协议指的就是约定和规范 应用层:cdn&dns…