CentOS7安装python

本文介绍如何在CentOS7上安装Python3.6.1,并保留原有的Python2.7.5以确保yum命令正常运行。包括下载源码包、配置安装路径、编译安装、创建软连接及修改yum配置文件等步骤。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

原文:http://www.cnblogs.com/lclq/archive/2016/06/27/5620196.html

1.查看是否已经安装Python

Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。

使用python -V命令查看一下是否安装Python:

python -V

然后查看一下Python可执行文件的位置:

which python

进入到其可执行文件所在目录:

ls python*

ls -al python*

可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7。

要安装Python的其他版本先执行mv python python.bak命令备份python文件

2.安装新版本的Python

下载Python新版本https://www.python.org/downloads/source/

 

下载tgz包就可以了。其实下面的2个包其一都可以使用
Python-3.6.1.tgz (这个不是编译过的东西,不能解压之后直接使用)
Python-3.6.1.tar.xz (这个是pthon的源码)

讲下载的tgz包上传到Linux服务器。

或者执行wget命令直接下载到服务器:wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

解压缩:tar -zxvf Python-3.6.1.tgz

加压缩之后该目录下出现Python-3.6.1文件夹,进入到文件夹下执行编译安装。

执行 ./configure --prefix=/usr/local/python/python3 命令。

这时可能出现错误提示“ no acceptable C compiler found in $PATH”,此时需安装GCC软件套件(yum -y install gcc)

然后再次执行前边未成功的命令。(执行完后提示“If you want a release build with all optimizations active (LTO, PGO, etc),
please run ./configure --enable-optimizations”,我没有执行此操作。

./configure命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行make install之后就会把程序安装到我们指定的目录中去。

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放
在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置--prefix,如:
./configure --prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,
就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

然后执行make(编译)

然后执行make install(安装)

此时可能会出现错误“ can't decompress data; zlib not available”,

解决办法:
1、安装依赖zlib、zlib-devel

下载Zlib库,地址:http://www.zlib.net/zlib1211.zip 用wget下载,然后再用unzip解压一下,然后就像一般软件一样 ./configure && make && make install .(注意要root权限)

2、重新编译安装Python

安装成功之后进入到python3文件夹可以看到Python的可执行文件目录、lib目录等相关目录。

执行ln -s /usr/local/python/python3/bin/python3 /usr/bin/python命令创建软连接。执行python -V查看Python是否安装成功。

3.修改yum配置文件
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5
因此修改yum配置文件(vi /usr/bin/yum)。
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5因此修改yum配置文件(vi /usr/bin/yum)。把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。对于CentOS7,文件/usr/libexec/urlgrabber-ext-down头部也需做相同操作。



                

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>首先,用户询问在CentOS 7系统上安装Python的指令。根据系统指令: - 所有行内数学表达式要使用 $...$ - 独立公式用 $$...$$ - LaTeX语法正确 - 使用中文回答 - 生成相关问题 - 回答中引用的段落末尾添加引用标识 - 回答结构清晰,帮助用户逐步解决问题,尽量真实可靠 用户提供了几个引用: - 引用[1]: CentOS7安装Python3.7.2,脚本步骤 - 引用[2]: CentOS7安装Python3.8.19的步骤 - 引用[3]: 在CentOS7安装Python2.7.14和Python2.6共存 - 引用[4]: 安装Python3.8.8的两种方法 用户说这些引用仅供参考,并不是真正需求,但我要参考用户的查询。用户的查询是:"我在CentOS 7系统上安装Python的指令"。CentOS 7默认有Python 2.7.5(实际上CentOS 7默认是Python 2.7.5,但用户引用中提到默认是Python 2.6,引用[3]说centos自带python2.6,但标准CentOS 7是从带有Python 2.7开始的;我需要验证)。 实际CentOS 7版本: - CentOS 7 initial release was with Python 2.7.5. Earlier versions like CentOS 6 had Python 2.6. So perhaps user's reference is outdated or for specific version. But based on ref[3], it says "centos自带python2.6", which suggests it might be for an older CentOS version or a misunderstanding. In general, for CentOS 7: - Default Python is 2.7.5. - Installing Python 3 is common without removing Python 2, to keep system tools working. User wants commands for installing Python on CentOS 7. I need to cover installing Python 3 while keeping Python 2. From references: - Ref[1]: Steps for Python 3.7.2: untar, configure, make, make install. - Ref[2]: Steps for Python 3.8.19 with dependencies and setting soft links. - Ref[3]: Install Python 2.7 alongside 2.6 for compatibility with yum. - Ref[4]: Two methods: wget or upload Python source. Since user mentioned "安装Python", and references focus on installing Python 3 while coexisting with system Python, I should focus on installing Python 3. Structure the response: 1. **Introduction**: Explain the situation – CentOS 7 comes with Python 2.7 (or confirm what it has), and we'll install Python 3 without replacing it. 2. **Prerequisites**: Ensure system tools, install dependencies. 3. **Detailed Steps**: - Download Python source or upload it. - Extract the tarball. - Install dependencies. - Configure and make. - Install. - Set up soft links. 4. **Verification**: Check installed Python version. 5. **Generate related questions**. Make sure to cite references where appropriate. Since user provided references, I need to attribute steps to them logically. Key steps based on refs: - Install dependencies: `yum install zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make` (from ref[2]) - Configure with prefix, e.g., `./configure --prefix=/usr/local/python3` - `make && make install` - Set soft links: for Python 3,/usr/bin/python3 and pip3 (from ref[2]) Ref[2] also shows updating yum first: `yum update` Ref[3] emphasizes not to touch system Python 2 (2.6) for yum. For CentOS 7, since it uses Python 2.7 by default, we need to be careful not to override it. But in practice, I'll install Python 3 to a different path. Now, to write in Chinese as instructed. First, title or heading: CentOS 7系统安装Python 3的指令 Then step-by-step. Include generating related questions at the end. </think> ### CentOS 7系统安装Python的指令 在CentOS 7系统中,通常会预装Python 2.7(用于系统工具如yum),但用户经常需要额外安装Python 3来实现兼容性和新功能。以下是一个完整、安全的分步安装指南(以Python 3.8.x为例,但适用于大多数版本),**确保Python 3与系统自带的Python 2.7共存**,不影响yum等工具[^3]。全过程基于开源最佳实践和用户引用中的可靠方法,重点参考了依赖管理、软链接配置等关键点[^1] [^2] [^4]。 #### 前提条件 在开始前,确保: - 以root用户或具有sudo权限的用户登录。 - 系统已联网,能够访问yum仓库。 - 安装基本工具:`sudo yum install -y wget tar vim`(如未安装)[^2]。 #### 安装Python 3的步骤 我将逐步指导操作,如果遇到权限问题(例如权限被拒绝),请在命令前加`sudo`。 1. **安装依赖库** Python编译需要开发库和编译器。运行以下命令安装所有必需依赖: ```bash sudo yum update -y # 更新系统软件包[^2] sudo yum install -y zlib-devel bzip2-devel openssl-devel sqlite-devel \ readline-devel tk-devel libffi-devel gcc make # 提供编译支持[^2] ``` 如果不安装这些依赖,编译时可能报错如"zlib not available"[^1]。 2. **下载Python源代码** 有两种方法获取Python源码: - **方法1**:通过wget直接下载到系统(推荐): ```bash wget http://npm.taobao.org/mirrors/python/3.8.8/Python-3.8.8.tar.xz # 使用淘宝镜像加速下载[^4] ``` - **方法2**:手动上传到Linux(如从Windows使用SFTP),存放到`/usr/local/src`目录[^4]。 验证文件: ```bash ls Python-3.8.8.tar.xz # 应显示文件存在 ``` 3. **解压和准备源代码** ```bash sudo tar -xvf Python-3.8.8.tar.xz # 解压文件[^2],使用.tar.xz格式时用-J参数(像-xvJf) cd Python-3.8.8 # 进入解压目录 sudo mv Python-3.8.8 /usr/local/python3 # 重命名以便区分[^2],非必需但推荐 cd /usr/local/python3 # 进入目录 ``` 4. **配置、编译和安装** 设置安装路径到`/usr/local/python3`,避免与系统Python冲突[^1] [^3]: ```bash sudo ./configure --prefix=/usr/local/python3 --enable-optimizations # --enable-optimizations提升性能 sudo make clean # 清除缓存[^2] sudo make # 编译代码 sudo make install # 安装到指定路径 ``` 编译过程可能需5-10分钟,取决于系统性能。 5. **设置软链接(使全局可用)** 创建软链接到`/usr/bin`,以便通过`python3`和`pip3`命令调用[^2]: ```bash sudo rm -f /usr/bin/python3 /usr/bin/pip3 # 删除旧链接(如存在) sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 链接python3 sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 # 链接pip3 ``` 6. **验证安装** 检查版本确保成功: ```bash python3 -V # 应输出 Python 3.8.8 pip3 -V # 应显示pip版本 ``` #### 重要注意事项 - **兼容性**:这些步骤**不会覆盖系统Python**,系统工具如yum仍使用默认`/usr/bin/python`(即 Python 2.7)。避免修改或替换系统Python版本[^3]。 - **故障排除**: - 安装失败?运行 `sudo make clean` 并确保依赖已安装- 软链接错误?使用 `which python3` 验证路径。 - **升级Python版本**:将参考中的 `3.8.8` 替换为其他版本号(如 `3.9.13`),步骤相同[^1] [^2]。 此安装通过编译源码实现最大灵活性,引用方法已验证于多个CentOS 7环境[^1] [^2] [^4]。如果需安装Python 2.7(如系统仅有旧版Python2.6),概念类似但须单独配置[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值