当前位置: 首页 > news >正文

Python之虚拟环境

文章目录

  • Python之虚拟环境
    • 虚拟环境核心概念
      • 为什么需要虚拟环境?
      • 虚拟环境注意事项
    • 创建虚拟环境
      • 使用 venv (Python 3.3+ 内置)
      • 使用 virtualenv (第三方工具,支持Python 2/3)
        • 与 venv创建方式的区别
          • Python 版本支持
          • 功能与兼容性
          • 依赖关系和性能
          • 命令行工具
          • 创建虚拟环境时的差异
      • 使用 conda (Anaconda/Miniconda)
    • 激活/退出虚拟环境
    • 虚拟环境管理
      • 安装/卸载包
      • 导出依赖
      • 复制虚拟环境
      • 删除虚拟环境
    • 虚拟环境目录结构
    • 高级用法
      • 继承系统全局包
      • 指定不同版本的Python
      • 使用 pipenv (更高级的虚拟环境管理)
      • 使用 poetry (现代Python项目管理)
    • IDE集成
      • VS Code
        • 创建虚拟环境(如果尚未创建)
        • 在 VS Code 中打开项目
        • 选择虚拟环境中的 Python 解释器
        • 验证虚拟环境是否生效
      • PyCharm
    • 常见问题解决
      • 激活脚本无法执行
      • 虚拟环境找不到包
      • 跨平台兼容性问题
      • pip工具使用方法
        • 安装方法对比表
        • 常用pip命令补充

Python之虚拟环境

虚拟环境是 Python 开发中的重要工具,它可以为每个项目创建独立的 Python 运行环境,解决不同项目间的依赖冲突问题。

虚拟环境核心概念

为什么需要虚拟环境?

  • 隔离项目依赖:不同项目可能需要不同版本的库

  • 避免污染系统环境:防止包安装到全局 Python 中

  • 便于依赖管理:每个项目有独立的依赖清单

  • 团队协作:确保所有开发者使用相同的环境

虚拟环境注意事项

  • 每个项目单独环境:避免依赖冲突

  • 不提交环境目录:在 .gitignore 中添加 myenv/

  • 提交依赖文件:确保 requirements.txt 或 Pipfile 提交到版本控制

  • 文档记录环境:在 README 中说明 Python 版本和主要依赖

  • 定期更新依赖:使用 pip list --outdated 检查更新

虚拟环境是 Python 开发的基础设施,合理使用可以大大提高开发效率和项目可维护性。

在这里插入图片描述

创建虚拟环境

使用 venv (Python 3.3+ 内置)

# 创建虚拟环境
python -m venv myenv# 创建指定Python版本的虚拟环境
python3.9 -m venv myenv

上述命令解释:

  • 虚拟环境:为每个项目单独建一个 “软件安装目录”(比如 myvenv)

  • 拷贝 Python 解释器、pip 等工具到 myvenv/Scripts文件夹

  • 所有依赖包都安装到 myvenv/Lib/site-packages

  • 完全独立,不干扰其他项目

在这里插入图片描述

使用 virtualenv (第三方工具,支持Python 2/3)

pip install virtualenv
# 安装全局python一样版本的环境
virtualenv myenv

在这里插入图片描述

与 venv创建方式的区别
Python 版本支持
  • venv:是 Python 3.3 及以上版本内置的模块,因此只支持 Python 3.x 版本。你不需要单独安装它,直接使用 python -m venv 来创建虚拟环境。
  • virtualenv:是一个第三方工具,支持 Python 2.x 和 Python 3.x,适用于多种 Python 版本。你需要通过 pip install virtualenv 安装它。
功能与兼容性
  • venv:是 Python 官方推荐的工具,功能较为简洁,适合大多数使用场景。但它仅支持创建 Python 3 的虚拟环境,因此对于需要兼容 Python 2.x 的项目不适用。
  • virtualenv:功能更为丰富,并且兼容 Python 2.x 和 3.x,可以创建多种版本的虚拟环境,适用于更多的场景,特别是如果你在项目中需要支持多个 Python 版本。
依赖关系和性能
  • venv:是 Python 官方的一部分,性能较为高效。它的依赖相对较少,并且由于其内置于 Python 中,它不依赖外部安装,简化了使用过程。
  • virtualenv:由于是第三方工具,可能会有额外的依赖,并且需要通过 pip 安装。某些情况下,virtualenv 在创建虚拟环境时会比 venv 更加灵活,但也可能需要更多的配置和管理。
命令行工具
  • venv:使用 python -m venv 来创建虚拟环境,命令简单,直接。
  • virtualenv:使用 virtualenv 命令来创建虚拟环境,使用时需要先通过 pip install virtualenv 安装。
创建虚拟环境时的差异
  • venv:创建虚拟环境时,它会根据系统的 Python 版本来生成相应的环境。若需要特定版本的 Python,用户必须手动切换。
  • virtualenv:可以指定 Python 版本(如 virtualenv -p python3.9 myenv),并且可以灵活选择你想要的 Python 版本来创建虚拟环境。

使用 conda (Anaconda/Miniconda)

conda create --name myenv python=3.8

激活/退出虚拟环境

操作系统激活命令退出命令
Linux/Macsource myenv/bin/activatedeactivate
Windowsmyenv\Scripts\activatedeactivate
Condaconda activate myenvconda deactivate

在这里插入图片描述在这里插入图片描述
进入虚拟环境,会看到(虚拟环境名称在前面,代表进入虚拟环境中)

虚拟环境管理

安装/卸载包

# 安装包
pip install package# 安装指定版本
pip install package==1.0.0# 从requirements.txt安装
pip install -r requirements.txt# 卸载包
pip uninstall package

导出依赖

pip freeze > requirements.txt

在这里插入图片描述

复制虚拟环境

# 方案1:通过requirements.txt
pip freeze > requirements.txt
python -m venv newenv
source newenv/bin/activate # Linux/Mac 可执行文件
目录\myenv\Scripts\activate # windows环境
pip install -r requirements.txt# 方案2:直接复制(不推荐)
cp -r oldenv newenv

在这里插入图片描述

删除虚拟环境

  • 直接删除目录即可
rm -rf myenv  # Linux/Mac
rd /s /q myenv  # Windows

虚拟环境目录结构

典型的 venv 虚拟环境目录结构:

myenv/
├── bin/            # Linux/Mac 可执行文件
│   ├── python      # Python 解释器
│   ├── pip         # pip 工具
│   └── activate    # 激活脚本
├── Scripts/        # Windows 可执行文件
│   ├── python.exe
│   ├── pip.exe
│   └── activate.bat
├── Lib/            # 安装的包
│   └── site-packages/
└── pyvenv.cfg      # 虚拟环境配置文件

高级用法

继承系统全局包

python -m venv myenv --system-site-packages

指定不同版本的Python

# 使用指定Python版本创建
virtualenv -p /usr/bin/python3.7 myenv

使用 pipenv (更高级的虚拟环境管理)

pip install pipenv
pipenv install package  # 自动创建虚拟环境
pipenv shell           # 进入虚拟环境

使用 poetry (现代Python项目管理)

pip install poetry
poetry new project     # 创建项目
poetry add package     # 添加依赖
poetry shell           # 进入虚拟环境

IDE集成

VS Code

创建虚拟环境(如果尚未创建)

在项目文件夹中打开终端(Ctrl + ~),运行以下命令:

# 创建虚拟环境(默认使用 Python 3)
python -m venv .venv
.venv 是虚拟环境文件夹的名称(可自定义,如 venv、env 等)。

在这里插入图片描述

如果系统有多个 Python 版本,需指定路径,例如:

# 使用 Python 3.11 创建虚拟环境
C:\Python311\python.exe -m venv .venv
在 VS Code 中打开项目

打开项目文件夹:

  • 启动 VS Code,点击 File > Open Folder(或直接拖拽文件夹到 VS Code)。

  • 确保 Python 扩展已安装:

  • 在扩展市场(Ctrl + Shift + X)搜索 Python,安装 Microsoft 官方 Python 扩展。
    在这里插入图片描述

选择虚拟环境中的 Python 解释器

打开命令面板:

  • 按 Ctrl + Shift + P(Mac:Cmd + Shift + P)。

  • 输入并选择命令:
    在这里插入图片描述

  • 输入 Python: Select Interpreter,按回车。

  • 选择虚拟环境的 Python:

    • 列表中会显示所有检测到的 Python 解释器,格式通常为:
    .venv\Scripts\python.exe (Windows)
    .venv/bin/python (Linux/macOS)
    
    • 选择你的虚拟环境路径(如下图)。
      在这里插入图片描述

VS Code 选择解释器

验证虚拟环境是否生效
  • 检查终端:

打开新终端(Ctrl + Shift + ~),注意路径前是否显示 (.venv),例如:

(.venv) PS C:\your_project>
如果没有自动激活,手动运行:
  • Windows:
.venv\Scripts\activate
  • Linux/macOS:
source .venv/bin/activate

在这里插入图片描述

  • 安装依赖:

在激活的虚拟环境中,用 pip 安装项目所需的包(如 pip install numpy),这些包会安装到虚拟环境中,而非全局。

PyCharm

  • 打开项目设置 File > Settings

  • 选择 Project: YourProject > Python Interpreter

  • 添加虚拟环境中的 Python

在这里插入图片描述

常见问题解决

激活脚本无法执行

# Windows 报错"无法加载脚本"
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

虚拟环境找不到包

  • 确保已激活正确的虚拟环境

  • 检查 pip list 确认包已安装

  • 确认 IDE 使用的是虚拟环境的解释器

跨平台兼容性问题

  • Windows 和 Linux 创建的虚拟环境不能混用

  • 建议每个平台单独创建环境

pip工具使用方法

安装方法对比表
安装方式命令示例适用场景优点缺点注意事项
pip安装pip install package
pip install package==1.0.0
大多数常规安装场景简单直接,自动解决依赖需要网络连接推荐使用虚拟环境
指定源安装pip install package -i https://pypi.tuna.tsinghua.edu.cn/simple国内用户加速下载下载速度快需要知道可用的镜像源常用镜像源:清华、阿里云、豆瓣等
安装whl文件pip install package-1.0.0-py3-none-any.whl离线安装或安装预编译包避免编译过程,安装快需要提前下载对应版本的whl文件注意Python版本和系统架构匹配
安装tar.gz源码pip install package-1.0.0.tar.gz需要从源码安装或自定义安装可查看源码可能需要编译环境可能需要安装编译工具(gcc等)
setup.py安装python setup.py install开发模式安装或本地包安装适合开发调试可能影响系统Python环境建议在虚拟环境中使用
conda安装conda install packageAnaconda/Miniconda环境自动处理复杂科学计算包的依赖包版本可能不如PyPI新适合数据科学领域
批量安装pip install -r requirements.txt项目依赖批量安装一键安装所有依赖需要维护requirements.txt文件文件格式:package==1.0.0
常用pip命令补充
操作命令说明
升级pippython -m pip install --upgrade pip确保使用最新版pip
查看已安装包pip list列出所有已安装的包
检查可升级包pip list --outdated显示可升级的包
升级包pip install --upgrade package升级指定包
卸载包pip uninstall package移除已安装的包
查看包信息pip show package显示包的详细信息
下载包不安装pip download package -d "dir"只下载不安装,适合离线环境
导出环境依赖pip freeze > requirements.txt生成依赖文件

相关文章:

Python之虚拟环境

文章目录 Python之虚拟环境虚拟环境核心概念为什么需要虚拟环境?虚拟环境注意事项 创建虚拟环境使用 venv (Python 3.3 内置)使用 virtualenv (第三方工具,支持Python 2/3)与 venv创建方式的区别Python 版本支持功能与兼容性依赖关系和性能命令行工具创建…...

【Java高阶面经:数据库篇】15. 零停机数据迁移:从双写到一致性校验

一、迁移架构设计:双写+增量同步的三层防护模型 1.1 核心架构流程图 #mermaid-svg-MfnakvBNrtFScrMe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MfnakvBNrtFScrMe .error-icon{fill:#552222;}#mermaid-svg-Mf…...

车载以太网网络测试-27【SOME/IP-SD简述】

文章目录 1 摘要2 SOME/IP-SD协议介绍2.1 定义与作用2.2 SOMEIP/SD协议通俗易懂的理解2.2.1 SOMEIP/SD协议是什么?2.2.2 通信流程(简化)2.2.3 车载功能示例2.2.4 类比理解 2.3 SOME/IP-SD报文结构2.3.1 Flags2.3.1.1 REBOOT (Bit 7)2.3.1.2 U…...

Ubuntu 22.04上升级Node.js版本

在Ubuntu 22.04上升级Node.js版本有几种方法,推荐使用NVM(Node Version Manager),因为它可以让你轻松管理多个Node.js版本。 方法1: 使用NVM(推荐) 1. 安装NVM # 下载并安装NVM curl -o- https://raw.gi…...

软件设计师“面向对象设计”真题考点分析——求三连

一、考点分值占比与趋势分析 综合知识历年考察统计 年份考题数分值占比考察重点2018334%继承类型、设计原则2019445.3%多态实现、类关系2020556.7%设计模式应用、接口隔离2021334%消息通信、封装特性2022668%开闭原则、组合模式2023556.7%模板方法、适配器模式2024445.3%单一…...

flutter dart 函数语法

以下是 Dart 语言中函数语法的 详细实例说明,涵盖了所有常用写法 基本语法参数类型(必选、可选、命名、默认值)匿名函数、箭头函数高阶函数(函数作为参数/返回值)异步函数(async / await) 1. …...

鸿蒙Flutter实战:24-混合开发详解-4-初始化Flutter

概述 将 Flutter 模块添加至宿主鸿蒙项目中后,接下需要实现页面跳转、消息通信等功能,本文重点介绍如何初始化 Flutter。 项目配置 添加依赖 编辑 ohos_app/oh-package.json 文件 如果通过 Har 包方式引入 Flutter 模块,则需要添加如下内…...

微信小程序之Promise-Promise初始用

我们来尝试使用Promise。 1、需求&#xff0c;做个抽奖的按钮&#xff0c; 抽奖规则&#xff1a; 30%的几率中奖&#xff0c;中奖会提示恭喜恭喜&#xff0c;奖品为10万 RMB 劳斯莱斯优惠券&#xff0c;没中奖会提示再接再厉。 2、先搭界面&#xff1a; <view class&qu…...

工业 / 农业 / AR 场景怎么选?Stereolabs ZED 双目3D相机型号对比与选型建议

Stereolabs ZED 相机系列为视觉感知领域提供了多种创新解决方案&#xff0c;适用于不同应用场景。选择合适的 ZED 相机型号&#xff0c;需综合考虑分辨率、深度感知范围、接口类型等因素。 Stereolabs ZED 相机产品系列概览 ZED&#xff1a;首款立体视觉相机&#xff0c;专为高…...

(Git) 稀疏检出(Sparse Checkout) 拉取指定文件

文章目录 &#x1f3ed;作用&#x1f3ed;指令总览&#x1f477;core.sparseCheckout&#x1f477;sparse-checkout 文件 &#x1f3ed;实例演示⭐END&#x1f31f;交流方式 &#x1f3ed;作用 类似于 .gitignore 进行文件的规则匹配。 一般在需要拉取大型项目指定的某些文件…...

Nginx 部署前端项目dist文件到局域网然后ngrok部署到公网

①项目里面 npm run build 生成的dist文件 ②下载nginx: download 将dist文件夹放入html文件夹中 ③conf修改配置 里面有nginx.conf 文本修改④在此目录下 打开cmd 输入 start nginx.exe 启动代理 ⑤http://localhost:90/index.html即可或者域名换成你的ip地址也可以 …...

【sylar-webserver】9 网络模块

目录 Address 类图 知识点 常用结构体 常用函数 Socket 类图 主要功能 初始化 socket 流程&#xff1a; ByteArray 知识点 zigzag 算法 TLV 编码结构 Stream 类图 Stream 流结构&#xff0c;提供字节流读写接口 SocketStream TcpServer 类图 主要功能 Address…...

野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(四)安装RKNN Toolkit2

RKNN Toolkit2是用来将onnx模型转成rknn专用模型&#xff0c;并可通过RKNN Toolkit Lite2或者RKNPU调用NPU进行加速计算的工具。 一开始我安装很多次都无法成功安装。后来跟售后技术对接&#xff0c;必须是PC平台的Linux环境才可以。我的电脑是windows&#xff0c;所以我需要用…...

第六部分:阶段项目 5:构建 NestJS RESTful API 服务器

现在&#xff0c;是时候将你学到的 NestJS 知识付诸实践&#xff0c;构建一个简单的 RESTful API 服务器了。我们将基于第四阶段的项目&#xff08;博客文章 API 或任务管理 API&#xff09;&#xff0c;使用 NestJS 的方式重新实现它。 选择以下一个项目&#xff1a; 项目选…...

【工作流】Fastgpt配置豆包模型-火山引擎

V4.9.7 Fastgpt现在不通过oneapi 来配置模型和渠道了&#xff0c; 可以直接在页面进行设置 首先在账号- 模型提供商里面 填入豆包的信息&#xff1a; 渠道名随便填&#xff0c;厂商选豆包&#xff0c; 然后选3个模型&#xff0c;如图所示 如果没有填入模型映射的话是没办法 …...

vite搭建vue3项目及相关配置

1.npm create vite 设置你的项目名&#xff0c;选择框架&#xff0c;选择语言 我此处选的为Vue typescripe 2.按照命令去执行 cd vite-vue3-app 进入项目文件&#xff0c;npm install 安装依赖&#xff0c;npm run dev 运行项目 此处由于node、npm版本导致报错问题如图 在…...

web实验(2)

实验1 搭建nginxssl的加密认证web服务器 第一步&#xff1a;准备工作 # 恢复快照 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# systemctl disable firewalld [rootserver ~]# yum install nginx mod_ssl -y [r…...

数字孪生技术如何重塑能源产业?

近年来&#xff0c;全球能源行业正步入一个前所未有的转型期。一方面&#xff0c;“双碳”目标驱动能源结构向低碳化、清洁化发展&#xff1b;另一方面&#xff0c;新能源比例快速上升&#xff0c;给传统电力系统带来巨大的不确定性。与此同时&#xff0c;数字化浪潮也席卷能源…...

你通俗易懂的理解——线程、多线程与线程池

一&#xff1a;异常处理 1.1 异常概述 &#xff08;1&#xff09;场景 &#xff08;2&#xff09;定义 &#xff08;3&#xff09;异常抛出机制 Java把不同的异常用不同的类表示 &#xff08;4&#xff09;如何对待异常 1.2 常见异常类 &#xff08;1&#xff09;Throwable &am…...

spring+tomcat 用户每次发请求,tomcat 站在线程的角度是如何处理用户请求的,spinrg的bean 是共享的吗

对于 springtomcat 用户每次发请求&#xff0c;tomcat 站在线程的角度是如何处理的 比如 bio nio apr 等情况 tomcat 配置文件中 maxThreads 的数量是相对于谁来说的&#xff1f; 以及 spring Controller 中的全局变量:各种bean 对于线程来说是共享的吗&#xff1f; 一、Tomca…...

机器人坐标系标定

机器人坐标系标定 机器人坐标系标定 1. 知识目标 理解机器人坐标系的定义掌握机器人坐标系的分类 2. 技能目标 能够正确标定机器人坐标系 3. 机器人坐标系的作用 代表不同的物体或边界示例&#xff1a; 相对于桌子、弓箭、坯料、其他机器或边界移动 用途&#xff1a; 使用…...

VR光伏车棚虚拟仿真系统:开启绿色能源新视界​

VR 光伏车棚虚拟仿真系统&#xff0c;是一种集成了先进计算机技术与前沿虚拟现实技术的创新工具。它的核心在于&#xff0c;通过数字化手段高度逼真地模拟光伏车棚电站从规划建设到实际运行的全流程情境 &#xff0c;为相关人员提供一个沉浸式、交互式的虚拟操作空间。​ 借助 …...

阿里云服务器 篇十三(加更):Web书签(链接共享和迷你导航):改为使用宿主机DB等优化

文章目录 系列文章搭建 LinkAce将docker-compose配置迁移到项目目录添加脚本只保留最新备份改为使用宿主机DB获取当前LinkAce数据库备份导入LinkAce数据库备份创建数据库账号修改容器内MySQL客户端连接配置:禁用SSL连接修改 Docker 相关配置回滚和彻底清除数据卷改为使用宿主机…...

Typescript学习教程,从入门到精通,TypeScript 包装类与包装对象语法知识点及案例代码(10)

TypeScript 包装类与包装对象语法知识点及案例代码 在 TypeScript 中&#xff0c;包装类&#xff08;Wrapper Classes&#xff09;和包装对象&#xff08;Wrapper Objects&#xff09;是处理基本数据类型&#xff08;如 Boolean、Number、String&#xff09;的重要概念。这些包…...

若依代码生成

1。数据库&#xff0c;自己先创建好表和数据 启动访问页面&#xff0c;导入你的表 圈红的改成自己的业务名 生成后压缩&#xff0c;执行数据库脚本.sql文件 2。前台导入直接复制粘贴src 3。后台导入 复制main文件夹下的两个文件夹到 ruoyi-admin\src\main 如果不能访问在修改…...

Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览

&#x1f680; Vue3 高级表格打印工具封装&#xff08;支持预览、分页、样式美化&#xff09; 关键词&#xff1a;Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览 在企业级应用中&#xff0c;我们经常遇到打印报表、导出…...

实现一个前端动态模块组件(Vite+原生JS)

1. 引言 在前面的文章《使用Vite创建一个动态网页的前端项目》中我们实现了一个动态网页。不过这个动态网页的实用价值并不高&#xff0c;在真正实际的项目中我们希望的是能实现一个动态的模块组件。具体来说&#xff0c;就是有一个页面控件同时在多个页面中使用&#xff0c;那…...

面向对象编程在 JavaScript 中的实践

引言 前端开发正随着应用复杂度增加而向更严谨的架构模式演进。JavaScript 作为一种多范式语言&#xff0c;其面向对象特性为构建可维护、可扩展的大型应用提供了强大基础。 一、JavaScript 中的对象模型演化 对象字面量&#xff1a;最基础的封装 对象字面量是 JavaScript …...

Android 内存溢出(OOM)的 Kotlin 排查与优化指南

内存溢出&#xff08;Out Of Memory, OOM&#xff09;是 Android 开发中常见且棘手的问题&#xff0c;尤其在处理大图、复杂数据或内存泄漏时。本文将通过 Kotlin 代码示例 和工具使用&#xff0c;提供一套比较完整的排查与优化方案。 一、检测工具&#xff1a;定位内存问题根源…...

Docker常用命令介绍

Docker常用命令 1、本地镜像管理 save 命令 将一个或多个 Docker 镜像保存到一个 tar 归档文件中&#xff0c;以便在其他环境中分发或备份。 # 语法&#xff1a;docker save [OPTIONS] IMAGE [IMAGE...]# 保存单个镜像到文件 docker save -o myimage.tar myimage:latest# 保…...

(高级)高级前端开发者指南:框架运用与综合实战

当您已经掌握了HTML5、CSS3和JavaScript的基础知识后&#xff0c;接下来就是学习现代前端框架和性能优化的高级阶段。本文将重点介绍Vue.js/React的组件化开发、状态管理和路由配置&#xff0c;以及前端性能优化的核心技巧。通过丰富的代码示例和详细讲解&#xff0c;帮助您在实…...

边缘计算正在重新定义物联网的未来——你的设备还在“等云“吗?⚡

“数据不动算法动,算法不动代码动”——这句话正在成为物联网时代的新铁律。 当我们谈论物联网设备性能优化时,大多数开发者第一反应还是"上云"。但现实往往残酷:网络延迟让实时控制变成了"实时等待",带宽成本让企业CFO眉头紧锁,数据安全让合规部门夜…...

std::initialzer_list 与花括号{}数据列表

author: hjjdebug date: 2025年 05月 22日 星期四 15:50:23 CST descrip: std::initialzer_list 与花括号{}数据列表 文章目录 1.{数值列表}是什么?1.1 数组初始化 时 &#xff0c; 称为数组初始化列表1.2. 当用于容器时, 称为容器初始化列表1.3. 对于结构体或类&#xff0c;{…...

C++初阶-list的使用2

目录 1.std::list::splice的使用 2.std::list::remove和std::list::remove_if的使用 2.1remove_if函数的简单介绍 基本用法 函数原型 使用函数对象作为谓词 使用普通函数作为谓词 注意事项 复杂对象示例 2.2remove与remove_if的简单使用 3.std::list::unique的使用 …...

从单链表 list 中删除第 i 个元素--Python

从单链表 list 中删除第 i 个元素 一、问题引入二、解题步骤1.思维导图2.解题步骤 三、代码实现四、个人总结 一、问题引入 请编写程序&#xff0c;将 n 个整数顺次插入一个初始为空的单链表的表头。随后对任意给定的位序 i&#xff0c;删除链表中第 i 个结点。注意&#xff1…...

GraphPad Prism工作表的基本操作

《2025新书现货 GraphPad Prism图表可视化与统计数据分析&#xff08;视频教学版&#xff09;雍杨 康巧昆 清华大学出版社教材书籍 9787302686460 GraphPadPrism图表可视化 无规格》【摘要 书评 试读】- 京东图书 GraphPad Prism中包含5种工作表&#xff0c;每种工作表的基本操…...

C++初阶-list的使用1

目录 1.std::list简介 2.成员函数 2.1构造函数的使用 2.2list::operator的使用 3.迭代器 4.容量 4.1list::empty函数的使用 4.2list::size函数的使用 4.3list::max_size函数的使用 5.元素访问 6.修饰符 6.1list::assign函数的使用 6.2push_back和pop_back和push_fr…...

文献解读-病理影像多模态模型预测乳腺癌新辅助化疗的病理完全反应

期刊&#xff1a;Science Advances 影响因子&#xff1a;11.7&#xff0c;中科院1区Top 发表时间&#xff1a;2025年4月30日 概要&#xff1a;首都医科大学宣武医院放射科卢洁教授团队近日&#xff08;2025年5月&#xff09;在中科院1区top期刊《Sci Adv》&#xff08;IF11.7&a…...

Docker-Mysql

查看容器的详细信息 docker inspect mysql-8.4.5 Docker 启动 local-mysql 的完整命令 docker run -d \--name local-mysql \-e MYSQL_ROOT_PASSWORDyour_root_password \-v /AllenDocker/mysql/data:/var/lib/mysql \-p 3306:3306 \--restart unless-stopped \mysql:8.4.5 验…...

鸿蒙进阶——CMakelist、GN语法简介及三方库通用移植指南

文章大纲 引言一、GN常用的内置变量二、GN常用的内置函数三、CMake 重要语法1、生成动态库2、生成静态库3、生成OBJECT 库4、重要的函数和模块4.1、add_definitions4.2、execute_process4.3、add_dependencies4.4、install4.5、FetchContent 四、GN 重要语法1、编译Target2、预…...

场景化应用实战系列六:检索问答系统

目录 景化应用实战系列六&#xff1a;检索问答系统 一、目标设定 二、关键知识点梳理 三、案例讲解与实战操作 1. 数据准备与预处理 2. 倒排表构建 3. 文本相似度计算 4. 检索问答系统实现 5. 系统优化与改进 一、目标设定 构建一个高效的检索问答系统&#xff0c;能…...

3452. 好数字之和

​题目来源&#xff1a; LeetCode题目&#xff1a;3452. 好数字之和 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 按要求判断求和即可。 解题代码&#xff1a; #python3 class Solution:def sumOfGoodNumbers(self, nums: List[int], k: int) -> int:r…...

GEE数据下载问题记录

GEE下载数据时的一些记录 1. GPT说 2. 验证 在未指定投影坐标系的情况下&#xff0c;下载原始数据导出的是MODIS Sinusoidal投影&#xff0c;如果单纯的对波段值进行操作&#xff0c;不会进行投影转换&#xff0c;如果涉及到波段平均&#xff0c;则会转投影到WGS84坐标系。如…...

P1833 樱花

P1833 樱花 - 洛谷 题目背景 《爱与愁的故事第四弹plant》第一章。 题目的描述 爱与愁大神后院里种了n棵樱花树&#xff0c;每棵都有美学值Ci​(0≤Ci​≤200)。爱与愁大神在每天上学前都会来赏花。爱与愁大神可是生物学霸&#xff0c;他懂得如何欣赏樱花&#xff1a;一种樱…...

文件操作和IO-3 文件内容的读写

文件内容的读写——数据流 流是操作系统提供的概念&#xff0c;Java对操作系统的流进行了封装。 数据流就像水流&#xff0c;生生不息&#xff0c;绵延不断。 水流的特点&#xff1a;比如要100mL的水&#xff0c;可以一次接10mL&#xff0c;分10次接完&#xff0c;也可以一次接…...

Day 0015:Metasploit 基础解析

目录 一、理论学习&#xff08;Metasploit 架构与核心组件&#xff09; 一、架构设计&#xff1a;分层与模块化 基础层&#xff08;Ruby 框架&#xff09;&#xff1a; 核心层&#xff08;模块引擎&#xff09;&#xff1a; 接口层&#xff08;交互界面&#xff09;&#…...

相机标定与图像处理涉及的核心坐标系

坐标系相互关系 #mermaid-svg-QxaMjIcgWVap0awV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QxaMjIcgWVap0awV .error-icon{fill:#552222;}#mermaid-svg-QxaMjIcgWVap0awV .error-text{fill:#552222;stroke:#552…...

单例模式的运用

单例模式实现分析 在我们的向量数据库配置类 MilvusVectorDatabaseConfig 中&#xff0c;采用了单例模式的实现方式&#xff0c;这是一种非常经典且实用的设计模式。 饿汉式单例实现 这种实现方式属于饿汉式单例模式&#xff0c;它的优点在于&#xff1a; // 在类加载时就创…...

PageHelper分页原理解析:从源码到MySQL方言实现

一、引言 分页查询是Web开发的必备功能&#xff0c;MyBatis生态中的PageHelper以其简单易用的特性广受欢迎。本文将从源码层面&#xff08;v5.3.2&#xff09;解析PageHelper的分页实现机制&#xff0c;结合MySQL方言展示完整的执行链路。 二、核心实现原理 1. 插件初始化 …...

MySQL中索引最左前缀法则、索引失效情况、前缀索引、索引设计原则

最左前缀法则 联合索引中&#xff0c;最左前缀法则指的是查询从索引的最左列开始&#xff0c;并且不跳过索引中的列&#xff0c;如果跳跃某一列&#xff0c;索引将会部分失效&#xff08;后面的字段索引失效&#xff09;举例假设有一个联合索引包含三个字段按顺序&#xff1a;…...