首页 > 系统相关 >CentOS Python 3.12安装

CentOS Python 3.12安装

时间:2024-08-20 14:49:26浏览次数:14  
标签:CentOS Python 3.12 openssl devel python usr local make

之前从来没想到我会在安装Python这点上卡住,事实上最近就是在一个CentOS测试机上安装Python时遇到了问题,因此记一下。

以往我们使用yum安装python时非常简单:

yum install python
or
yum install python3

最多额外再加装个pip以及python-devel,就算需要某个特定的、yum无法覆盖的小版本,也只需要`configure && make && make install`就完事,毕竟其依赖与默认的python基本相似。

然而随着python版本的快速更迭,老旧的CentOS6、7系统自带的yum源已经无法覆盖新的python版本,其上许多依赖也已过时,这就需要我们手动编译安装python。

1、openssl的问题

ssl是python的核心模块依赖之一,pip工具、安全加密等功能依赖于此。

在CentOs6、7安装Python高版本时,所需的openssl版本高于系统默认的openssl 1.0.2k,因此我们需要到 https://github.com/openssl/openssl/tags 下载对应的openssl安装包,解压后进行编译安装:

cd openssl-1.1.1w
./config --prefix=/usr/local/openssl
make
make install
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl  # 覆盖原先的openssl(也可以先备份下原先的openssl指令),无需担心yum/ssh等工具失效,这些工具使用的是/usr/lib64中的.so库,不是这个openssl指令
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib">>/etc/profile
openssl version  # 验证新的openssl版本

需要特别注意的是:openssl建议使用--prefix的方式进行config,即在/usr/local目录下使用单独的子目录进行安装,否则python make时可能无法识别使用(或许需要指定--with-openssl=/usr/local)。

2、readline/zlib等等依赖缺失怎么办?

除了比较重要的ssl之外,还会有一些Python标准库可能因为依赖缺失而在make时报出missing警告,虽然这样make出来的python也能用但遇到需要使用这些特定包时就会有问题,因此提前安装有必要。

具体需要安装哪些包需要根据make的结果来看,可以先按下述语句安装一下,然后根据make结果再安装其他缺失的依赖。

yum -y groupinstall "Development Tools"
yum -y install bzip2-devel gdbm-devel xz-devel readline-devel ncurses-devel tk-devel libuuid-devel libffi-devel

 

最后进行python编译安装:

https://www.python.org/downloads/ 下载所需Python版本。

解压后执行如下操作:

cd Python-3.12.4
./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/local/openssl
# 加prefix的作用是把python安装到/usr/local/python3.12目录下而非默认的/usr/local目录下,类似于解压到当前目录和解压到指定目录的区别,不过默认的/usr/local下组织的也很合理,因此不加也行
# 指定--prefix后,python的bin,lib等目录等会全部集中在/usr/local/python3.12目录下,未指定时则直接位于/usr/local目录下
# --with-openssl建议加上,这个参数指定的是openssl的安装根目录,在使用非默认ssl组件时很有用
make
make install
ln -s /usr/local/python3.12/bin/python3.12 /usr/bin/python3

  

标签:CentOS,Python,3.12,openssl,devel,python,usr,local,make
From: https://www.cnblogs.com/realcp1018/p/18369408

相关文章

  • python环境安装之后,cmd输入python回车会打开微软商店
    坑爹!python环境安装之后,cmd输入python回车会打开微软商店最近发现,安装python环境成功之后,可能会出现cmd输入python验证是否安装成功老会打开微软商店!解决,打开系统环境配置,找到刚安装python环境的时候加入的python安装路径你会发现这个windowsapp在python安装目录前面,把w......
  • 在Python中使用MySQL:保姆级指南
    Python是一种广泛使用的高级编程语言,因其简洁易读以及强大的库支持而受到开发者的青睐。当需要在Python程序中处理数据库时,MySQL是一个流行的选择。MySQL是一个开源的关系数据库管理系统,广泛用于Web应用程序的开发。目录第一步:安装MySQL数据库第二步:安装MySQLConnector第......
  • python实用教程(二):安装配置Pycharm及使用(Win10)
    上一篇:python实用教程(一):安装配置anaconda(Win10)-CSDN博客1、简介及下载PyCharm是一款功能强大的Python编辑器,具有跨平台性。是Jetbrains家族中的一个明星产品。下载地址:DownloadPyCharm:ThePythonIDEfordatascienceandwebdevelopmentbyJetBrains由于个人用......
  • Centos 7.9系统 源码安装MySQL5.7版本
    mysql5.7安装详细一、MySQL5.7源码安装部署1.1安装环境准备相关依赖包的作用:cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数,如:安装目录、数据存放目录、字符编码、排序规则等。boost库:从MySQL5.7.5开......
  • Centos 7.9系统 源码安装MySQL8.0
    1.编译安装1.1下载编译所需包#检查重复包、卸载rpm-qa|grepmariadb*|xargsrpm-e--nodeps#下载所需软件包cd/usr/local/src/wgethttps://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.1.2.tar.xzwgethttps://mirrors.ustc.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gzwget......
  • LeetCode-Python-3154. 到达第 K 级台阶的方案数(DFS + 数学)
    给你有一个 非负 整数 k 。有一个无限长度的台阶,最低 一层编号为0。Alice 有一个整数 jump ,一开始值为0。Alice从台阶1开始,可以使用 任意 次操作,目标是到达第 k 级台阶。假设Alice位于台阶 i ,一次 操作 中,Alice可以:向下走一级到 i-1 ,但该操作......
  • 2024年全国青少年信息素养大赛国赛PYTHON组(C++做法)
    目录前提第一题第二题第三题第四题第五题:第六题前提鄙人是C++学生,所以将PYTHON题做为C++题,还请各位多多海涵!!!部分芝士来自度娘和其它网站温馨提示:题目顺序可能不同,请各位仔细浏览! 第一题题目描述蓝蓝最近学到了一些单词,比如orange(橘子),apple(苹果),pear(梨)。......
  • Python之因子分析详细步骤
    1.数学原理1.1数学模型1.2正交因子模型假设注意:下面的推导都是基于这一假设。因此,这里的模型都是属于正交因子模型。1.3正交因子模型的协方差结构1.4各类方差贡献的介绍    在1.3正交因子模型的协方差结构中,我们介绍了“方差贡献”,下面给出关于“方差贡献”......
  • 四:《Python基础语法汇总》— 列表&元组&集合
    一:列表​列表是Python中最基本的数据类型之一,是可以存放多个多种元素的容器​列表是Python中序列的一种,是一个有序可变序列​由于列表是可变序列,所以可以对其里面的内容进行修改,无需重新开辟空间存储1.下标与切片:​列表中也可以应用下标索引和切片,与在字符串中的应用......
  • 【有源码】基于Python的股票数据分析与价格预测TensorFlow深度学习框架和长短期记忆网
    注意:该项目只展示部分功能,如需了解,文末咨询即可。本文目录1.开发环境2系统设计2.1设计背景2.2设计内容3系统页面展示3.1预测页面3.2可视化页面3.3管理页面3.4功能展示视频4更多推荐5部分功能代码5.1爬虫部分代码5.2预测部分代码1.开发环境开发语......