0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

news2025/6/10 18:54:04

是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。

可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。

oracle提供了sqlcl免费许可,sqlcl依赖于java,比sqldeveloper小,小巧的同时改善了sqlplus的功能。在完全兼容23ai的同时还支持vector属性。

rpm安装完毕Oracle 23 ai free之后,其实在23ai的路径中默认带了sqlcl 25.1,需要配置JDK变量即可调用sqlcl。

一、23 ai free 默认路径下的 sqlcl中调用

1. 设置环境变量调用sqlcl
 [oracle@OL96TC ~]$ cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/jdk/bin
export PATH=$PATH:$JAVA_HOME/bin
2. TrueCache辅库上继续使用sqlcl

可以查询主库中新建的表deparments3,

但是由于数据TrueCache,无法查询到表的objects信息

[oracle@OL96TC ~]$ sql / as sysdba;
SQLcl: Release 25.1 Production on Sun Jun 08 16:16:18 2025

Copyright (c) 1982, 2025, Oracle.  All rights reserved.

Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04

SQL> show pdbs;

   CON_ID CON_NAME    OPEN MODE    RESTRICTED
_________ ___________ ____________ _____________
        2 PDB$SEED    READ ONLY    NO
        3 FREEPDB1    READ ONLY    NO
SQL> alter session set container=FREEPDB1;

Session altered.

SQL> show pdbs;

   CON_ID CON_NAME    OPEN MODE    RESTRICTED
_________ ___________ ____________ _____________
        3 FREEPDB1    READ ONLY    NO
SQL> info deparments3;

ERROR:
ORA-04043: object deparments3 does not exist
SQL> select * from departments3;

   DEPT_ID DEPT_NAME      LOCATION         BUDGET
__________ ______________ _____________ _________
         1 Research       Building 7       750000
         2 Research       Building 7       750000
       100 Development    Building 5       900000
         4 Marketing      Building 3       650000
SQL>

二、SQLcl 的核心特性 

在生产主机上很多sqlplus难以实现的,Tab自动补全是最为好用的,
Tab键来补全语句关键字、table的名字,column的名字等,当某些table、视图中当中的列name巨长的时候,是不是得心应手。
  • - 智能补全(表名/列名/函数)
  • - 语法高亮显示
  • - 多行编辑支持(类似 IDE)
SQL> help
For help on a topic type help <topic>
List of Help topics available:
/                  @                  @@                 ACCEPT             ALIAS              APEX               APPEND
AQ                 ARBORI             ARCHIVE_LOG        ARGUMENT           AWR                BACKGROUND         BLOCKCHAIN_TABLE
BREAK              BRIDGE             BTITLE             CD                 CERTIFICATE        CHANGE             CLEAR
CLOUDSTORAGE       CODESCAN           COLUMN             COMPUTE            CONNECT            CONNMGR            COPY
CS                 CTAS               DATAPUMP           DBCCRED            DDL                DEFINE             DEL
DESCRIBE           DG                 DIRS               DISCONNECT         EDIT               EXECUTE            EXIT
FILES              FIND               FORMAT             GET                HISTORY            HOST               IMMUTABLE_TABLE
INFORMATION        INPUT              JOBS               LIQUIBASE          LIST               LOAD               MDB
MIGRATEADVISOR     MLE                MODELER            NET                OCI                OCIDBMETRICS       OERR
ORAPKI             PASSWORD           PAUSE              POPD               PRINT              PROJECT            PROMPT
PUSHD              QUIT               REMARK             REPEAT             RESERVED_WORDS     REST               RUN
SAVE               SCRIPT             SDK                SECRET             SET                SHOW               SHUTDOWN
SODA               SPOOL              SSHTUNNEL          START              STARTUP            STORE              TIMING
TNSPING            TOSUB              TTITLE             UNDEFINE           UNLOAD             VARIABLE           VAULT
WAIT4              WHENEVER           WHICH              XQUERY

SQL> select * FROM V$VERSION
--习惯小写的命令,自动TAB补全的是大写
2. ​丰富的输出格式​

sqlformat格式化--OCM考试好用。通过设置sqlformat,可以设置不同输出的格式

SET SQLFORMAT JSON/CSV/HTML/XML

default
ansiconsole
csv
insert – lists resuts as an insert statement
loader – pipe-delimited
delimited – same as csv
xml
html
fixed – fixed width
text
json

 2.1 设置sqlformant jason

SYS@CDB$ROOT> show pdbs;

   CON_ID CON_NAME    OPEN MODE     RESTRICTED
_________ ___________ _____________ _____________
        3 FREEPDB1    READ WRITE    NO
SYS@CDB$ROOT> set sqlformat json
SYS@CDB$ROOT> select * from departments3;
{"results":[{"columns":[{"name":"DEPT_ID","type":"NUMBER"},{"name":"DEPT_NAME","type":"VARCHAR2"},{"name":"LOCATION","type":"VARCHAR2"},{"name":"BUDGET","type":"NUMBER"}],"items":
[
{"dept_id":1,"dept_name":"Research","location":"Building 7","budget":750000}
,{"dept_id":2,"dept_name":"Research","location":"Building 7","budget":750000}
,{"dept_id":100,"dept_name":"Development","location":"Building 5","budget":900000}
,{"dept_id":4,"dept_name":"Marketing","location":"Building 3","budget":650000}
]}]}
SYS@CDB$ROOT>

 2.2 设置XML格式

SYS@CDB$ROOT> set sqlformat xml
SYS@CDB$ROOT> select * from departments3;
<?xml version='1.0'  encoding='UTF-8' ?>
<RESULTS>
        <ROW>
                <COLUMN NAME="DEPT_ID"><![CDATA[1]]></COLUMN>
                <COLUMN NAME="DEPT_NAME"><![CDATA[Research]]></COLUMN>
                <COLUMN NAME="LOCATION"><![CDATA[Building 7]]></COLUMN>
                <COLUMN NAME="BUDGET"><![CDATA[750000]]></COLUMN>
        </ROW>
        <ROW>
                <COLUMN NAME="DEPT_ID"><![CDATA[2]]></COLUMN>
                <COLUMN NAME="DEPT_NAME"><![CDATA[Research]]></COLUMN>
                <COLUMN NAME="LOCATION"><![CDATA[Building 7]]></COLUMN>
                <COLUMN NAME="BUDGET"><![CDATA[750000]]></COLUMN>
        </ROW>
        <ROW>
                <COLUMN NAME="DEPT_ID"><![CDATA[100]]></COLUMN>
                <COLUMN NAME="DEPT_NAME"><![CDATA[Development]]></COLUMN>
                <COLUMN NAME="LOCATION"><![CDATA[Building 5]]></COLUMN>
                <COLUMN NAME="BUDGET"><![CDATA[900000]]></COLUMN>
        </ROW>
        <ROW>
                <COLUMN NAME="DEPT_ID"><![CDATA[4]]></COLUMN>
                <COLUMN NAME="DEPT_NAME"><![CDATA[Marketing]]></COLUMN>
                <COLUMN NAME="LOCATION"><![CDATA[Building 3]]></COLUMN>
                <COLUMN NAME="BUDGET"><![CDATA[650000]]></COLUMN>
        </ROW>
</RESULTS>
SYS@CDB$ROOT>
2.3 设置HTML
SYS@CDB$ROOT> set sqlformat HTML
SYS@CDB$ROOT> select * from departments3;
<!DOCTYPE html>
<html>

<head>
  <meta charset='UTF-8'>

  <title>Result Data</title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0">


  <style>
  * {
    margin: 0;
    padding: 0;
  }
  body {
    font: 14px/1.4 Palatino, Serif;
  }
3. 免客户端安装
  • - 独立运行(仅需 Java)
  • - 支持所有连接方式:
sql user/pwd@host:port/service
sql /@tns_alias
4. 高级调试功能​
  • - 实时 SQL 监控
  • - 可视化执行计划
  • - 历史命令性能分析
4.1 SQLcl支持历史指令检索的功能,默认是100个,可以单独设置数量。
循环复写,上下箭头操作,可以显示完整的指令,HISTORY FULL会隔行显示。
history
SQL> history;
History:
alter session set container = FREEPDB1;
SQL>

HISTORY USAGE,会显示单条语句的执行次数

SQL> history usage;
  1  (1) alter session set container =FREEPDB1;
  2  (1) info t
  3  (1) alter session set container = FREEPDB1;
  4  (1) info table departments3;
SQL>

HISTORY TIME,会显示单条语句的执行时间统计,是不是很有用 

SQL> history time;
  1  (00.366) alter session set container =FREEPDB1;
SQL>

4.2 info显示各种统计信息,打包信息 

SYS@CDB$ROOT> info dbms_stats.gather_table_stats;
Package

/* Package SYS.DBMS_STATS */
/*  PROCEDURE  SYS.DBMS_STATS.GATHER_TABLE_STATS  */
    SYS.DBMS_STATS.GATHER_TABLE_STATS(   OWNNAME            =>  p_IN_param0  /*   VARCHAR2   */,
                                         TABNAME            =>  p_IN_param1  /*   VARCHAR2   */,
                                         PARTNAME           =>  p_IN_param2  /*   VARCHAR2   */,
                                         ESTIMATE_PERCENT   =>  p_IN_param3  /*   NUMBER   */,
                                         BLOCK_SAMPLE       =>  p_IN_param4  /*   BOOLEAN   */,
                                         METHOD_OPT         =>  p_IN_param5  /*   VARCHAR2   */,
                                         DEGREE             =>  p_IN_param6  /*   NUMBER   */,
                                         GRANULARITY        =>  p_IN_param7  /*   VARCHAR2   */,
                                         CASCADE            =>  p_IN_param8  /*   BOOLEAN   */,
                                         STATTAB            =>  p_IN_param9  /*   VARCHAR2   */,
                                         STATID             =>  p_IN_param10  /*   VARCHAR2   */,
                                         STATOWN            =>  p_IN_param11  /*   VARCHAR2   */,
                                         NO_INVALIDATE      =>  p_IN_param12  /*   BOOLEAN   */,
                                         STATTYPE           =>  p_IN_param13  /*   VARCHAR2   */,
                                         FORCE              =>  p_IN_param14  /*   BOOLEAN   */,
                                         CONTEXT            =>  p_IN_param15  /*   VARRAY   */,
                                         OPTIONS            =>  p_IN_param16  /*   VARCHAR2   */);

/*  FUNCTION  SYS.DBMS_STATS.GATHER_TABLE_STATS_FUNC  */
    /*   RETURN NUMBER   */
     v_ret := SYS.DBMS_STATS.GATHER_TABLE_STATS_FUNC(   OWNNAME            =>  p_IN_param0  /*   VARCHAR2   */,
                                                        TABNAME            =>  p_IN_param1  /*   VARCHAR2   */,
                                                        PARTNAME           =>  p_IN_param2  /*   VARCHAR2   */,
                                                        ESTIMATE_PERCENT   =>  p_IN_param3  /*   NUMBER   */,
                                                        BLOCK_SAMPLE_STR   =>  p_IN_param4  /*   VARCHAR2   */,
                                                        METHOD_OPT         =>  p_IN_param5  /*   VARCHAR2   */,
                                                        DEGREE             =>  p_IN_param6  /*   NUMBER   */,
                                                        GRANULARITY        =>  p_IN_param7  /*   VARCHAR2   */,
                                                        CASCADE_STR        =>  p_IN_param8  /*   VARCHAR2   */,
                                                        STATTAB            =>  p_IN_param9  /*   VARCHAR2   */,
                                                        STATID             =>  p_IN_param10  /*   VARCHAR2   */,
                                                        STATOWN            =>  p_IN_param11  /*   VARCHAR2   */,
                                                        NO_INVALIDATE_STR  =>  p_IN_param12  /*   VARCHAR2   */,
                                                        STATTYPE           =>  p_IN_param13  /*   VARCHAR2   */,
                                                        FORCE_STR          =>  p_IN_param14  /*   VARCHAR2   */,
                                                        OPTIONS            =>  p_IN_param15  /*   VARCHAR2   */);

/*  PROCEDURE  SYS.DBMS_STATS.GATHER_TABLE_STATS_AUTONOMOUS_TXN  */
    SYS.DBMS_STATS.GATHER_TABLE_STATS_AUTONOMOUS_TXN(   OWNNAME   =>  p_IN_param0  /*   VARCHAR2   */,
                                                        TABNAME   =>  p_IN_param1  /*   VARCHAR2   */,
                                                        DEGREE    =>  p_IN_param2  /*   NUMBER   */);


SYS@CDB$ROOT>

4.3 查询DDL同时可导出 

SYS@CDB$ROOT> help ddl
Generates the code to reconstruct the selected object.
Use the result type for materialized views.
Use the save parameter to save the DDL in a file.

           DDL <object_name> [<object_type>] [SAVE <file_name>.sql]

Usage:
  ddl {PARAMETERS}

Parameters:
  <object>
  Name of the database object you want to get its description.

  <objecttype>
  [OPTIONAL] Type of the resultant object. Values with spaces need to be quoted.
  Example: package_body or "package body" will both work.

  <save>
  [OPTIONAL] Save the content of the buffer to a SQL script.

  <filename>
  [OPTIONAL - SAVE required] File name where the content is saved.

More help topics:
  DDL EXAMPLES
  DDL SYNTAX

SYS@CDB$ROOT> ddl departments3;

  CREATE TABLE "SYS"."DEPARTMENTS3"
   (    "DEPT_ID" NUMBER(*,0) GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE  NOKEEP  NOSCALE  NOT NULL ENABLE,
        "DEPT_NAME" VARCHAR2(50) NOT NULL ENABLE,
        "LOCATION" VARCHAR2(100),
        "BUDGET" NUMBER(12,2),
         PRIMARY KEY ("DEPT_ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SYSTEM"  ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SYSTEM" ;
SYS@CDB$ROOT>
5.生态集成​
  • - 内置 Liquibase
  • - 云存储直连(OCI/Azure/AWS)
  • - Docker 容器友好
# 使用 Liquibase 进行数据库版本控制
lb update -changelog-file schema.xml

6. 占用的资源和依赖:​
  • 1.Java 依赖(需 JDK 8+)
  • 2.内存占用高于 SQL*Plus
  • 3.部分传统 DBA 脚本需调整语法

7. 功能对比sqlplus、sqlcl、sqldeveloper  

特性

SQL*Plus

SQLcl

SQL Developer

安装复杂度

需完整客户端

免安装

需 GUI 安装

内存占用

5-10MB

100-300MB

500MB+

自动补全

✅ 智能补全

✅ 图形化补全

输出格式化

基础表格

10+种格式

可视化导出

版本控制

✅ Liquibase 集成

✅ Git 集成

云服务集成

✅ 原生支持

✅ 需插件

脚本兼容性

✅ 100%

✅ 95%

❌ 部分不兼容

23ai 特性支持

✅ 完整支持

✅ 需新版

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…