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

腾讯云 Python3.12.8 通过yum安装 并设置为默认版本

在腾讯云服务器上,直接通过 yum 安装 Python 3.12.8 可能不可行,因为标准仓库通常不包含最新的 Python 版本。不过,我们可以通过添加第三方仓库或手动安装 RPM 包的方式实现。以下是完整解决方案:

方法 1: 通过第三方仓库安装(推荐)

适用于 CentOS 7/8/9
# 安装必要的工具
sudo yum install -y epel-release
sudo yum install -y yum-utils# 添加 IUS 社区仓库(提供较新的 Python 版本)
sudo yum install -y https://repo.ius.io/ius-release-el$(rpm -E '%{rhel}').rpm# 安装 Python 3.12
sudo yum install -y python3.12 python3.12-devel python3.12-pip# 验证安装
/usr/bin/python3.12 --version

方法 2: 手动安装 RPM 包

如果仓库中没有 3.12.8,可以手动下载安装:

# 下载 Python 3.12.8 RPM 包(以 CentOS 7 为例)
wget https://example.com/python3.12.8.rpm  # 需替换为实际下载链接# 查找可用包(可尝试以下官方源):
# - https://packages.endpointdev.com/
# - https://ius.io/# 安装依赖
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel# 安装 RPM 包
sudo yum localinstall -y python3.12.8.rpm

设置为默认 Python3 版本

# 1. 移除现有 python3 链接
sudo rm -f /usr/bin/python3# 2. 创建新链接
sudo ln -s /usr/bin/python3.12 /usr/bin/python3
sudo rm /usr/bin/pip3   # 删除错误链接
sudo rm /usr/bin/pip    # 可选,如有问题一并删除
sudo ln -s /usr/bin/pip3.12 /usr/bin/pip3# 3. 验证设置
python3 --version  # 应显示 Python 3.12.8
pip3 --version     # 应显示 pip 版本# 4. 修复 yum 依赖(重要!)
# 因 yum 依赖 Python,需修改其解释器
sudo sed -i '1s|python|python2|' /usr/bin/yum
sudo sed -i '1s|python|python2|' /usr/libexec/urlgrabber-ext-down

配置环境

# 1. 设置 pip 腾讯云镜像
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com
EOF# 2. 安装常用工具
pip3 install virtualenv wheel# 3. 创建虚拟环境
python3 -m venv myenv
source myenv/bin/activate

验证安装

# 检查版本
python3 -c "import sys; print(sys.version)"# 测试 SSL 模块
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"# 测试包安装
pip3 install numpy
python3 -c "import numpy; print(numpy.__version__)"

注意事项

  1. 兼容性问题

    • CentOS 7 需要额外安装较新的 OpenSSL
    • 某些系统工具(如 yum)依赖 Python 2,修改后不影响使用
  2. 替代方案推荐

    # 使用软件集合(SCL)实现多版本共存
    sudo yum install -y centos-release-scl
    sudo yum install -y rh-python312
    scl enable rh-python312 bash
    
  3. 最新版本获取

    • 定期检查官方仓库更新:sudo yum check-update python3*
    • 查看 IUS 仓库可用版本:yum --disablerepo="*" --enablerepo="ius" list available python3*

卸载方法

# 还原默认链接
sudo ln -sf /usr/bin/python2 /usr/bin/python  # CentOS 7
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3 # 原始版本# 卸载 Python 3.12
sudo yum remove -y python3.12*
http://www.xdnf.cn/news/10700.html

相关文章:

  • [android]MT6835 Android 指令启动MT6631 wifi操作说明
  • Android第十二次面试GetX库渲染机制
  • SpringBoot-Thymeleaf
  • React 18 生命周期详解与并发模式下的变化
  • 《深入解析SPI协议及其FPGA高效实现》-- 第二篇:SPI控制器FPGA架构设计
  • 【学习笔记】On the Biology of a Large Language Model
  • 前端八股之Vue
  • 三种经典算法优化无线传感器网络(WSN)覆盖(SSA-WSN、PSO-WSN、GWO-WSN),MATLAB代码实现
  • 刘克清因“长相违规”而困扰
  • Linux入门(十三)动态监控系统监控网络状态
  • 【Linux】基础文件IO
  • 如何自动部署GitLab项目
  • 【C++】类的析构函数
  • Axure 基础入门
  • 【Linux】网络--网络层--IP协议
  • JavaSE知识总结 ~个人笔记以及不断思考~持续更新
  • 短视频平台差异视角下开源AI智能名片链动2+1模式S2B2C商城小程序的适配性研究——以抖音与快手为例
  • debian12操作系统apt命令出现无法安全的用该源更新解决方案
  • 池中锦鲤的自我修养,聊聊蓄水池算法
  • 4、ubuntu系统 | 文本和目录操作函数
  • 结构型设计模式之桥接模式
  • 结构型设计模式之装饰模式
  • NodeJS全栈WEB3面试题——P4Node.js后端集成 服务端设计
  • 【C语言预处理详解(下)】--#和##运算符,命名约定,命令行定义 ,#undef,条件编译,头文件的包含,嵌套文件包含,其他预处理指令
  • Android基于LiquidFun引擎实现软体碰撞效果
  • 吴恩达MCP课程(5):research_server_prompt_resource.py
  • LabVIEW轴角编码器自动检测
  • 助力高校AI教学与科研:GpuGeek推出618算力支持活动
  • 【拓扑排序】P6560 [SBCOI2020] 时光的流逝|普及+
  • day16 leetcode-hot100-30(链表9)