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

Linux 下安装Python指定版本(可离线安装)

描述

Linux系统中也就是Cent OS 7中本身有Python环境,最低的就是Python 2.7,这个版本是让yum使用的,所以不能卸载!
我们只能安装其他版本的Python

安装

1、下载Python的源码包

wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

如果你要下载其它版本,在链接中更改版本号即可,最好是自己在浏览器打开这个网址,看看网址是否正确。

3、解压安装

将其解压到 /usr/local/,你也可以解压到其它目录。

tar -xvf Python-3.10.0.tgz -C /usr/local/

4、安装相关依赖

由于我们是编译安装,在编译过程中需要依赖很多的库文件,所以在安装Python前,我们要提前把库文件安装好。

sudo yum install -y gcc make zlib-devel ncurses-devel gdbm-devel \
nss-devel openssl-devel readline-devel libffi-devel sqlite-devel \
wget bzip2-devel

不同的环境,所需的依赖可能不同,如果出现缺少依赖的错误,别慌,少哪个装哪个就行。

5、编译Python

先进入 Python 源代码的目录,然后再开始编译,依次执行以下 4 段指令即可。

cd /usr/local/Python-3.10.0
./configure --prefix=/usr/local/python3.10  --with-openssl=/usr --enable-optimizations \--with-ssl-default-suites=openssl
make  
sudo make install

在这里插入图片描述
上图中有一个warning需要注意:

WARNING: The scripts pip3 and pip3.10 are installed in '/usr/local/python3.10/bin' which is not on PATH.

这个警告意味着 pip3 和 pip3.10 脚本的安装目录不在系统的 PATH 环境变量中。这会致使你在终端直接输入 pip3 或者 pip3.10 时,系统无法找到对应的命令。

那么,可以将Python的bin目录添加到环境变量里:

# 将命令持久化,以后 Python3.10 就是默认版本
echo 'export PATH="/usr/local/python3.10/bin:$PATH"' >> ~/.bashrc
# 只在当前会话中 Python3.10 是默认版本,创建一个新会话后失效
export PATH="/usr/local/python3.10/bin:$PATH"
source ~/.bashrc  # 使命令生效

6、测试环境是否安装成功

在 /usr/local/python3.10 目录下执行:python3.10 --version 看能否输出 Python 版本信息。

在这里插入图片描述
在这里插入图片描述
到此,Python 的安装就完成了。

补充

如果你想执行pip时,默认调用pip3:

root@RNbai:~# pip -V
-bash: pip: command not foundroot@RNbai:~# pip3 -V
pip 21.2.3 from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)

可以更改软链接的指向

1、确认 pip3 路径

要保证 pip3 可执行文件的路径是正确的,可使用 which 命令来查找:

which pip3

此命令会输出 pip3 的实际路径:

root@RNbai:~# which pip3 
/usr/local/python3.10/bin/pip3

2、创建软链接

若确认了 pip3 的路径,就可以重新创建软链接。若你没有 /usr/local/bin 目录的写入权限,需要使用 sudo 提升权限:

#这里使用 $(which pip3) 自动获取 pip3 的路径。
sudo ln -s $(which pip3) /usr/local/bin/pip 

3、验证软链接

创建完成后,再次使用 ls -l 命令查看软链接是否创建成功:

root@RNbai:~# ls -l /usr/local/bin/pip lrwxrwxrwx 1 root root 30 Mar 25 02:13 /usr/local/bin/pip -> /usr/local/python3.10/bin/pip3

4、测试 pip 命令

最后,你可以通过执行 pip -V 命令来测试 pip 命令是否能正常使用:

root@RNbai:~# pip -V pip 21.2.3 from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)

若输出 pip 的版本信息,就说明软链接创建成功,并且 pip 命令能正常调用 pip3 了。

原文参考:https://blog.csdn.net/weixin_45112150/article/details/146500355

http://www.dtcms.com/a/295719.html

相关文章:

  • Java学习----工厂方法模式
  • 线程通信模型
  • 中国西北典型绿洲区土壤水分特征(2018-2019年)
  • [火了]-----FastGPT 插件系统架构演进:从 Monorepo 到独立生态
  • Spring MVC 统一响应格式:ResponseBodyAdvice 从浅入深
  • 快速将前端得依赖打为tar包(yarn.lock版本)并且推送至nexus私有依赖仓库(笔记)
  • 【工具变量】省市县空气流通系数数据集(1940-2025.3年)
  • Dataease2.10 前端二次开发
  • Windows 系统中 CURL 命令使用指南及常见错误解析
  • Silly Tavern 教程②:首次启动与基础设置
  • 极客大挑战2019-HTTP
  • Vulnhub Matrix-Breakout-2-Morpheus靶机攻略
  • 网络资源模板--基于Android Studio 实现的线上点餐系统
  • 【Linux基础知识系列】第六十三篇 - 文件编辑器基础:vim
  • 自己动手造轮子:如何创建JAR并通过Maven在Spring Boot中引用
  • Opencv C# 重叠 粘连 Overlap 轮廓分割 (不知道不知道)
  • Unity 进行 3D 游戏开发如何入门
  • AUTOSAR进阶图解==>AUTOSAR_SWS_BSWModeManager
  • 智慧驾驶疲劳检测算法的实时性优化
  • 深入思考【九九八十一难】的意义,试用歌曲能否解释
  • 【论文阅读50】-融合领域知识与可解释深度学习
  • 如何构建企业级 Mentor EDA 仿真平台
  • 进程调度的艺术:从概念本质到 Linux 内核实现
  • 从“各玩各的”到“无缝贴贴”:Modbus转Profinet让机器人告别“信息孤岛”
  • 【自动化运维神器Ansible】Ansible常用模块之shell模块详解
  • 数据版本控制系统(Oxen)
  • Terraform与Ansible的关系
  • Mysql-UDF提权
  • 家政小程序系统开发:开启智慧家政新时代
  • 详解力扣高频 SQL 50 题-1757.可回收且低脂的产品【入门】