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

Anaconda 安装与虚拟环境创建完整指南

Anaconda 安装与虚拟环境创建完整指南

Anaconda 是目前最流行的 Python 和数据科学工具集之一,它不仅可以轻松管理 Python 包,还能提供强大的虚拟环境功能,避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者,那么 Anaconda 是你的首选工具。

在这篇博客中,我们将从零开始,详细介绍如何下载、安装 Anaconda,并创建虚拟环境,帮助你快速搭建开发环境。


一、什么是 Anaconda?为什么需要它?

1.1 Anaconda 简介

Anaconda 是一个开源的 Python 和 R 语言分发工具,包含了丰富的科学计算库(如 NumPy、SciPy、Pandas)和深度学习框架(如 TensorFlow、PyTorch)。Anaconda 的主要特性包括:

  • 虚拟环境管理:可以创建隔离的开发环境,避免不同项目之间的依赖冲突。
  • 内置包管理器:通过 conda 命令,可以快速安装和更新所需的库。
  • 支持多操作系统:适用于 Windows、macOS 和 Linux。

1.2 为什么需要 Anaconda?

在开发多视角三维点云重建、深度学习等复杂项目时,经常需要多个 Python 包和工具。如果我们直接在系统环境中安装,可能会因为版本冲突导致项目运行失败。而 Anaconda 提供了以下优势:

  • 可以独立管理每个项目的依赖库和 Python 版本。
  • 提供开箱即用的科学计算工具和 Jupyter Notebook 环境。
  • 可用于安装其他工具(如 FFmpeg 和 COLMAP),方便开发复杂的三维重建任务。

二、如何下载并安装 Anaconda

下面是一步步安装 Anaconda 的详细过程。


2.1 下载 Anaconda

方式 1:直接下载页面
  1. 打开浏览器,访问 Anaconda 下载页面。该页面直接提供适合不同操作系统的下载选项。
  2. 根据自己的操作系统选择合适的安装包:
    • Windows 用户:推荐下载 64-bit Graphical Installer
    • macOS 用户:根据你的 Mac 电脑 CPU 类型,选择 Apple Silicon(M1/M2 芯片)Intel 的安装版本。
    • Linux 用户:选择 x86(64-bit)ARM64 版本。
      下载页面
方式 2:备用方法

如果上述链接无法跳转或下载不成功,可以尝试以下步骤::

  1. 打开 Anaconda 官网。

  2. 点击右上角的 “Free Download” 按钮,进入下载页面。
    点击Free Download
    3. 下载页面要求填写一个有效的电子邮箱地址以获取下载链接。
    4. 填写后,勾选 同意接收 Anaconda 产品和服务相关信息的邮件(可选),然后点击 Submit
    5. 检查你的邮箱,查找来自 Anaconda 的邮件(请注意检查垃圾邮件文件夹)。

    示例邮件截图:
    邮件
    6. 点击下载页面中的 “Download Now” 按钮后,该页面直接提供适合不同操作系统的下载选项


2.2 安装 Anaconda

  1. 运行安装程序
    下载完成后,找到安装包(Windows 为 .exe 文件,Mac/Linux 为对应安装文件),双击运行安装程序。

  2. 安装设置

    • 选择安装类型:默认选择“为我(单个用户)安装”。
    • 勾选 “将 Anaconda 添加到系统 PATH 变量中”:建议勾选,方便通过命令行使用 conda 命令。如果忘记勾选,可以手动添加。
    • 选择安装目录:默认路径为 C:\Users\YourUsername\Anaconda3(Windows),也可以根据需求自定义。
  3. 等待安装完成
    点击 Install 开始安装,等待安装完成后,点击 Finish 完成安装。


2.3 验证 Anaconda 安装

安装完成后,打开命令行工具(Windows 用户可以打开 CMD,Mac/Linux 用户打开终端),输入以下命令:

conda --version

如果显示类似以下内容,则说明安装成功:

conda 23.3.1

在这里插入图片描述


三、如何创建虚拟环境

完成 Anaconda 安装后,接下来我们创建一个独立的虚拟环境来安装开发所需的工具(例如 Python、COLMAP、FFmpeg 等)。


3.1 创建虚拟环境

使用以下命令创建一个新的虚拟环境(以 Python 3.9 为例):

conda create -n colmap_env python=3.9
  • -n 参数:指定虚拟环境的名称,这里我们命名为 colmap_env
  • python=3.9:指定虚拟环境的 Python 版本。

3.2 激活虚拟环境

激活虚拟环境后,所有的安装和运行都局限于该环境内,不会影响系统其他项目:

conda activate colmap_env

此时,你将看到命令提示符前面多了环境名称:

(colmap_env) $

3.3 安装其他工具

在虚拟环境中,你可以通过 conda installpip install 命令安装所需的工具。例如:

  • 安装 NumPy、SciPy:
    conda install numpy scipy
    
  • 安装 FFmpeg:
    conda install -c conda-forge ffmpeg
    

3.4 退出虚拟环境

如果不需要使用虚拟环境,可以随时退出:

conda deactivate

四、总结

通过本文的指南,你已经学会了如何下载并安装 Anaconda,并创建独立的虚拟环境。以下是主要步骤的回顾:

  1. 下载并安装 Anaconda。
  2. 验证安装是否成功。
  3. 使用 conda 命令创建和管理虚拟环境。

使用 Anaconda,可以方便地管理 Python 环境和项目依赖,为后续的开发任务打下坚实的基础。

相关文章:

Anaconda 安装与虚拟环境创建完整指南

Anaconda 安装与虚拟环境创建完整指南 Anaconda 是目前最流行的 Python 和数据科学工具集之一,它不仅可以轻松管理 Python 包,还能提供强大的虚拟环境功能,避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者&#xf…...

【Java数据结构】LinkedList与链表

认识LinkedList LinkedList就是一个链表,它也是实现List接口的一个类。LinkedList就是通过next引用将所有的结点链接起来,所以不需要数组。LinkedList也是以泛型的方法实现的,所以使用这个类都需要实例化对象。 链表分为很多种,比…...

Linux 搭建 nginx+keepalived 高可用 | Nginx反向代理

注意:本文为 “Linux 搭建 nginxkeepalived (主备双主模式) 高可用 | Nginx反向代理” 相关文章合辑。 KeepalivedNginx实现高可用(HA) xyang0917 于 2016-09-17 00:24:15 发布 keepalived 的 HA 分为抢占模式和非抢占模式,抢占…...

17_HTML5 Web 存储 --[HTML5 API 学习之旅]

HTML5 Web 存储(Web Storage)是 HTML5 引入的一种在用户浏览器中存储数据的机制。它提供了比传统的 cookies 更加方便和强大的功能,包括更大的存储空间、更好的性能以及更简单的 API。Web 存储主要分为两种类型:localStorage 和 s…...

uni-app(优医咨询)项目实战 - 第7天

学习目标: 能够基于 WebSocket 完成问诊全流程 能够使用 uniCloud 云存储上传文件 能够完成查看电子处方的功能 能够完成医生评价的功能 一、问诊室 以对话聊天的方式向医生介绍病情并获取诊断方案,聊天的内容支持文字和图片两种形式。 首先新建一…...

今日总结 2024-12-28

今天全身心投入到鸿蒙系统下 TCPSocket 的学习中。从最基础的 TCP 协议三次握手、四次挥手原理重新梳理,深刻理解其可靠连接建立与断开机制,这是后续运用 TCPSocket 无误通信的根基。在深入鸿蒙体系时,仔细研读了其为 TCPSocket 封装的 API&a…...

ip归属地怎么判定?如何查看自己ip属地

在当今数字化时代,IP地址作为互联网通信的基础,扮演着至关重要的角色。而IP归属地的判定与查看,不仅关乎网络安全、隐私保护,还直接影响到社交平台的信任机制与信息传播的真实性。本文将深入探讨IP归属地的判定原理以及如何查看自…...

4.采用锁操作并支持等待功能的线程安全队列

分析 书接上文 修改push()似乎并不困难:在函数末尾加上对data_cond.notify_one()的调用即可,与代码清单1(第一篇文章)一样。事情其实没那么简单,我们之所以采用精细粒度的锁,目的是尽可能提高并发操作的数量。如果在notify_one()调用期间&a…...

螺杆支撑座在运用中会出现哪些问题?

螺杆支撑座是一种用于支撑滚珠螺杆的零件,通常用于机床、数控机床、自动化生产线等高精度机械设备中。在运用中可能会出现多种问题,这些问题源于多个方面,以下是对可能出现的问题简单了解下: 1、安装不当:安装过程中没…...

OSI 七层模型 | TCP/IP 四层模型

注:本文为 “OSI 七层模型 | TCP/IP 四层模型” 相关文章合辑。 未整理去重。 OSI 参考模型(七层模型) BeretSEC 于 2020-04-02 15:54:37 发布 OSI 的概念 七层模型,亦称 OSI(Open System Interconnection&#xf…...

秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行

别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01;! ! ! 下篇更新&#xff1a; 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…...

快云服务器小助手getdetail存在任意文件文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

尚硅谷Vue3入门到实战 —— 02 编写 App 组件

根目录下的 index.html 是项目的入口文件&#xff0c;默认的具体内容如下&#xff1a; src 文件夹分析 <!DOCTYPE html> <html lang""><head><meta charset"UTF-8"><link rel"icon" href"/favicon.ico"&…...

Java - 日志体系_Simple Logging Facade for Java (SLF4J)日志门面_SLF4J实现原理分析

文章目录 官网SLF4J 简单使用案例分析SLF4J 获取 Logger 的原理获取 ILoggerFactory 的过程获取 Logger 的过程SLF4J 与底层日志框架的集成 小结 官网 https://slf4j.org/ Simple Logging Facade for Java &#xff08;SLF4J&#xff09; 用作各种日志记录框架&#xff08;e.g…...

Flutter 调试环境下浏览器网络请求跨域问题解决方案

本篇文章主要讲解&#xff0c;Flutter调试环境情况下&#xff0c;浏览器调试报错跨域问题的解决方法&#xff0c;通过本篇文章你可以快速掌握Flutter调试环境情况下的跨域问题。 日期&#xff1a;2024年12月28日 作者&#xff1a;任聪聪 报错现象&#xff1a; 报文信息&#xf…...

python编译为可执行文件

1.用py2exe生成可执行文件 目前&#xff0c;在py2exe 0.9.2版本已经支持python3.x&#xff0c;它可以将python程序打包为windows下独立的可执行文件。 要使用py2exe&#xff0c;首先要编写一个编译程序(例如编写一个名为setup.py的程序)&#xff0c;然后在python中运行…...

【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111

文章目录 一、算法概念111二、算法原理&#xff08;一&#xff09;感知机&#xff08;二&#xff09;多层感知机1、隐藏层2、激活函数sigma函数tanh函数ReLU函数 3、反向传播算法 三、算法优缺点&#xff08;一&#xff09;优点&#xff08;二&#xff09;缺点 四、MLP分类任务…...

spring cloud微服务-OpenFeign的使用

OpenFeign的使用 openFeign的作用是服务间的远程调用 &#xff0c;比如通过OpenFeign可以实现调用远程服务。 已经有了LoadBalancer为什么还要用openFeign? 在微服务架构中&#xff0c;LoadBalancer和OpenFeign虽然都提供了服务间调用的能力&#xff0c;但它们的设计目的和…...

欢迪迈手机商城设计与实现基于(代码+数据库+LW)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本欢迪迈手机商城就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…...

GCP Cloud Architect exam - PASS

备考指南 推荐视频课程 https://www.udemy.com/course/google-cloud-architect-certifications/?couponCodeKEEPLEARNING 推荐题库 https://www.udemy.com/course/gcp-professional-cloud-architect-exam-practice-tests-2024​/?couponCodeKEEPLEARNING 错题集 http…...

通过 `@Configuration` 和 `WebMvcConfigurer` 配置 Spring MVC 中的静态资源映射

通过 Configuration 和 WebMvcConfigurer 配置 Spring MVC 中的静态资源映射 一、前言1. 了解静态资源的默认配置2. 使用 Configuration 和 WebMvcConfigurer 自定义资源映射示例&#xff1a;将 /upload/ 和 /img/ 映射到不同的文件系统目录解释&#xff1a;为什么使用 classpa…...

敏捷测试文化的转变

敏捷文化是敏捷测试转型的基础&#xff0c;只有具备敏捷文化的氛围&#xff0c;对组织架构、流程和相关测试实践的调整才能起作用。在前面的敏捷测试定义中&#xff0c;敏捷测试是遵从敏捷软件开发原则的一种测试实践&#xff0c;这意味着敏捷的价值观。 此外&#xff0c;从传…...

深度学习:从原理到搭建基础模型

引言: 深度学习为什么火? 深度学习在处理复杂的感知和模式识别任务方面展现出了前所未有的能力。以图像识别为例,深度学习模型(如卷积神经网络 CNN)能够识别图像中的各种物体、场景和特征,准确率远超传统的计算机视觉方法。 当然这之中也还因为 大数据时代的推动(随着…...

MySQL和HBase的对比

Mysql &#xff1a;关系型数据库&#xff0c;主要面向 OLTP &#xff0c;支持事务&#xff0c;支持二级索引&#xff0c;支持 sql &#xff0c;支持主从、 Group Replication 架构模型&#xff08;此处以 Innodb 为例&#xff0c;不涉及别的存储引擎&#xff09;。 HBase &am…...

Gateway Timeout504 网关超时的完美解决方法

引言 在Web开发中&#xff0c;遇到HTTP状态码504&#xff08;Gateway Timeout&#xff09;是相当常见的。这个状态码表示前端服务器&#xff08;如负载均衡器或代理服务器&#xff09;作为网关工作时&#xff0c;在尝试访问后端服务器处理请求时未能及时得到响应。本文将探讨导…...

【探花交友】day03—MongoDB基础

目录 课程介绍 1、通用设置 1.1 需求分析 1.2 查询通用设置 1.2 陌生人问题 1.3 通知设置 1.4 黑名单管理 2、MongoDB简介 1.1、MongoDB简介 1.2、MongoDB的特点 1.3 数据类型 3、MongoDB入门 2.1、数据库以及表的操作 2.2、新增数据 2.3、更新数据 2.4、删除数…...

总结-常见缓存替换算法

缓存替换算法 1. 总结 1. 总结 常见的缓存替换算法除了FIFO、LRU和LFU还有下面几种&#xff1a; 算法优点缺点适用场景FIFO简单实现可能移除重要数据嵌入式系统&#xff0c;简单场景LRU局部性原理良好维护成本高&#xff0c;占用更多存储空间内存管理&#xff0c;浏览器缓存L…...

宏集eX710物联网工控屏在石油开采机械中的应用与优势

案例概况 客户&#xff1a;天津某石油机械公司 应用产品&#xff1a;宏集eX710物联网工控屏 应用场景&#xff1a;钻井平台设备控制系统 一、应用背景 石油开采和生产过程复杂&#xff0c;涵盖钻井平台、采油设备、压缩机、分离器、管道输送系统等多种机械设备。这些设备通…...

【社区投稿】自动特征auto trait的扩散规则

自动特征auto trait的扩散规则 公式化地概括&#xff0c;auto trait marker trait derived trait。其中&#xff0c;等号右侧的marker与derived是在Rustonomicon书中的引入的概念&#xff0c;鲜见于Rust References。所以&#xff0c;若略感生僻&#xff0c;不奇怪。 marker …...

【MySQL】第一弹----库的操作及数据类型

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;MySQL &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 一、SQL 语句分类 DDL:数据定…...

【服务器主板】定制化:基于Intel至强平台的全新解决方案

随着数据处理需求不断增长&#xff0c;服务器硬件的发展也在持续推进。在这一背景下&#xff0c;为用户定制了一款全新的基于Intel至强平台的服务器主板&#xff0c;旨在提供强大的计算能力、优异的内存支持以及高速存储扩展能力。适用于需要高性能计算、大规模数据处理和高可用…...

Flutter路由工具类RouteUtils,可二次开发,拿来即用

一、RouteUtils路由核心类 /*** 路由封装*/ class RouteUtils {RouteUtils._();static final navigatorKey GlobalKey<NavigatorState>();// App 根节点Contextstatic BuildContext get context > navigatorKey.currentContext!;static NavigatorState get navigato…...

报错:No module named ‘pygeohash‘

如果你遇到这个错误&#xff1a; platform... using builtin-java classes where applicableTraceback (most recent call last):File "/home/spark-shell/AppLogDWD02.py", line 4, in <module>from pygeohash import encodeModuleNotFoundError: No module …...

SQL中的TRIM用法

TRIM 是 SQL 中用于去除字符串两端&#xff08;左侧和右侧&#xff09;的空格或特定字符的函数。这个函数常用于清理数据中的无效空白字符&#xff0c;尤其是在从外部系统导入数据时&#xff0c;常常会遇到数据两端有不必要的空格&#xff0c;使用 TRIM 可以去除这些多余的字符…...

AIGC在电影与影视制作中的应用:提高创作效率与创意的无限可能

云边有个稻草人-CSDN博客 目录 引言 一、AIGC在剧本创作中的应用 1.1 剧本创作的传统模式与挑战 1.2 AIGC如何协助剧本创作 1.3 未来的剧本创作&#xff1a;AI辅助的协同创作 二、AIGC在角色设计中的应用 2.1 传统角色设计的挑战 2.2 AIGC如何协助角色设计 三、AIGC在…...

【蓝桥杯——物联网设计与开发】拓展模块5 - 光敏/热释电模块

目录 一、光敏/热释电模块 &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;AS312 &#x1f319;简介 &#x1f319;特性 &#x1f505;LDR &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#x…...

深入探索openEuler Kernel:操作系统的心脏

title: 深入探索openEuler Kernel&#xff1a;操作系统的心脏 date: ‘2024-12-28’ category: blog tags: openEulerLinux Kernel操作系统性能优化 sig: Kernel archives: ‘2024-12’ author:way_back summary: openEuler Kernel作为openEuler操作系统的核心&#xff0c;扮演…...

Unity3d UGUI如何优雅的实现Web框架(Vue/Rect)类似数据绑定功能(含源码)

前言 Unity3d的UGUI系统与Web前端开发中常见的数据绑定和属性绑定机制有所不同。UGUI是一个相对简单和基础的UI系统&#xff0c;并不内置像Web前端&#xff08;例如 Vue.js或React中&#xff09;那样的双向数据绑定或自动更新UI的机制。UGUI是一种比较传统的 UI 系统&#xff…...

【JavaEE进阶】@RequestMapping注解

目录 &#x1f4d5;前言 &#x1f334;项目准备 &#x1f332;建立连接 &#x1f6a9;RequestMapping注解 &#x1f6a9;RequestMapping 注解介绍 &#x1f384;RequestMapping是GET还是POST请求&#xff1f; &#x1f6a9;通过Fiddler查看 &#x1f6a9;Postman查看 …...

Vue.js组件开发-自定义文件上传

在Vue.js中开发自定义文件上传组件&#xff0c;创建一个独立的Vue组件来处理文件选择和上传的逻辑。这个组件可以包含文件选择器、上传进度条、上传状态提示等元素&#xff0c;并根据需要进行自定义。 示例&#xff1a; <template><div class"file-upload"…...

CES Asia 2025的低空经济展区有哪些亮点?

CES Asia 2025&#xff08;赛逸展&#xff09;的低空经济展区有以下亮点&#xff1a; • 前沿科技产品展示&#xff1a; 多款新型无人机将亮相&#xff0c;如固定翼无人机和系留无人机的最新型号&#xff0c;其在监测、救援和货物运输等方面功能强大。此外&#xff0c;还有可能…...

公路边坡安全监测中智能化+定制化+全面守护的应用方案

面对公路边坡的安全挑战&#xff0c;我们如何精准施策&#xff0c;有效应对风险&#xff1f;特别是在强降雨等极端天气下&#xff0c;如何防范滑坡、崩塌、路面塌陷等灾害&#xff0c;确保行车安全&#xff1f;国信华源公路边坡安全监测解决方案&#xff0c;以智能化、定制化为…...

Arduino 驱动GY-271(HMC5883L)三轴磁场模块

Arduino 驱动GY-271&#xff08;HMC5883L&#xff09;三轴磁场模块 简介特征参数原理图寄存器通信测量步骤接线主要代码结果 简介 HMC5883L 是一种表面贴装的高集成模块&#xff0c;并带有数字接口的弱磁传感器芯片&#xff0c;应用于低成本罗盘和磁场的检测领域。HMC5883L 包…...

ImportError: cannot import name ‘einsum‘ from ‘einops‘

报错&#xff1a; from einops import einsum ImportError: cannot import name einsum from einops 测试代码&#xff1a; python -c "from einops import einsum" 解决方法&#xff1a; pip uninstall einops pip install einops Successfully installed ein…...

GitLab安装及使用

目录 一、安装 1.创建一个目录用来放rpm包 2.检查防火墙状态 3.安装下载好的rpm包 4.修改配置文件 5.重新加载配置 6.查看版本 7.查看服务器状态 8.重启服务器 9.输网址 二、GitLab的使用 1.创建空白项目 2.配置ssh 首先生成公钥&#xff1a; 查看公钥 把上面的…...

攻防世界web第二题unseping

这是题目 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($this->method, array("ping"))) {cal…...

Bitmap(BMP)图像信息验证

Bitmap BMP图像信息验证 参考文章例程目的一、Bitmap图像结构二、获取文件大小三、获取应用程序路径四、获取目录中所有内容(包括子目录)五、Bitmap图像信息验证六、主函数测试七、测试结果 参考文章 在Windows下C语言获取当前应用程序运行路径并获取指定目录下所有文件Bitmap…...

Faster R-CNN

文章目录 摘要Abstract1. 引言2. 框架2.1 RPN2.1.1 网络结构2.1.2 损失函数2.1.3 训练细节 2.2 训练过程 3. 创新点和不足3.1 创新点3.2 不足 参考总结 摘要 Faster R-CNN是针对Fast R-CNN缺点改进的目标检测模型。为了解决候选区域生成耗时长的问题&#xff0c;Faster R-CNN提…...

MySQL数据库锁

MySQL中读写不互斥&#xff08;前提是没有使用串行化隔离级别&#xff09;&#xff0c;但是写写操作要互斥才行&#xff0c;MySQL中使用锁机制来实现写写互斥。 按照锁的粒度可以分为&#xff1a;全局锁、表锁、行锁以及其他位于二者之间的间隙锁。 全局锁 锁定整个数据库&…...

树莓派A+安装lnmp-第一步,安装mariadb

20:26 2024/12/27 第一件事情&#xff0c;当然是超频&#xff01;&#xff01;&#xff01; raspi-config 4 Performance Options&#xff0c;选择P1 Overclock&#xff0c;可配置超频 不要贪心&#xff0c;选择900就可以&#xff01;&#xff01;&#xff01; rootpia4:~#…...