如何在CentOS上快速安装Python3,实现高效开发?
- 内容介绍
- 文章标签
- 相关推荐
作为一名开发者,我们每天都在与时间赛跑。当你满怀激情地拿到一台崭新的CentOS服务器, 准备大展身手部署你的最新项目时现实往往会给你泼一盆冷水——输入 python --version 系统冷冰冰地返回给你一个 Python 2.7.5。是不是瞬间感觉回到了十年前? 绝绝子... 这种“复古”的体验对于习惯了Python 3丰富特性和语法的现代开发者无疑是一种折磨。别担心, 今天我们就来一场彻底的“系统升级”,手把手教你如何在CentOS上快速安装Python 3,不仅解决版本焦虑,更能通过优化配置,让你的开发效率起飞,我始终觉得...
挖野菜。 在开始任何安装操作之前,保持冷静是程序员的第一修养。我们要先确认一下当前系统的状态,避免主要原因是误操作把系统搞崩。毕竟CentOS的很多核心工具是深度依赖Python 2的。如果我们贸然把系统的Python指向了Python 3, 那后果可能就是 yum 报错,系统无法更新,那时候你就真的只能“重装系统”了百感交集。。
先说说 打开你的终端, 用这几条命令来探探底:
python --version # 查看默认Python
python2 --version # 查看Python 2版本
python3 --version # 查看是否已安装Python 3
如果 python3 命令已经存在并且输出了你想要的版本,那么恭喜你,你可以跳过安装步骤,直接去看后面的优化部分。但大多数情况下CentOS 7都会告诉你 command not found。这时候,我们就需要根据需求选择安装方案了我是深有体会。,拭目以待。。
选择适合你的路
回顾一下我们在CentOS上安装Python 3主要有两条路:一条是利用YUM和EPEL的“快速路”, 是不是? 精辟。 适合追求稳定、不想折腾的朋友;另一条是源码编译的“极客路”,适合需要特定版本、追求极致性能的高手。
第一步:启用EPEL仓库
这一步非常简单,只需要一条命令。EPEL是Fedora社区维护的,质量相当有保障,啊这...。
# 安装EPEL仓库, 提供更多Python版本
sudo yum install epel-release -y
第二步:安装Python 3
有了EPEL之后我们就可以直接搜索并安装Python 3了。通常EPEL会提供比较新的稳定版, 正宗。 比如Python 3.6或3.8,干就完了!。
# 安装Python 3
sudo yum install python38 python38-pip -y
我们都曾是... 痛并快乐着。 这里我以安装Python 3.8为例。安装完成后别忘了验证一下:
# 验证安装
python3.8 --version # 查看Python 3.8版本
pip3.8 --version # 查看pip版本
我直接起飞。 是不是很简单?通过这种方式安装的Python 3,通常会与系统自带的Python 2并存,互不干扰。你可以直接使用 python3.8 命令来启动解释器。如果你需要其他版本,也可以通过 sudo yum search python3* 来查找仓库里还有哪些货。
虽然YUM很方便,但有时候它提供的版本无法满足我们的“贪婪”。比如 你想体验Python 3.9的新特性, 或者3.10、3.12的性能提升,这时候源码编译就是唯一的出路了。 欧了! 听起来好像很高大上,甚至有点吓人,其实只要按部就班,比拼乐高积木也难不到哪里去。而且,源码编译可以让我们自定义安装路径,更方便管理,脑子呢?。
1. 安装必要的依赖包
大胆一点... 很多新手在编译Python时容易遇到报错, 比如缺少 zlib 或者 openssl 的支持,导致pip无法使用,或者无法导入某些模块。这都是主要原因是缺少了开发工具包。在下载源码之前,我们先把“地基”打好。
# 安装开发工具组
sudo yum groupinstall "Development Tools" -y
# 安装Python编译依赖
sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget
这里特别要提一下 libffi-devel 如果你打算用Python 3.7及以上版本, 这个包是必须的,否则你会遇到 ModuleNotFoundError: No module named '_ctypes' 的错误,到时候再回来装就麻烦了。还有 openssl-devel 没有它,你的pip在访问https时会报错。
2. 下载并编译Python源码
# 下载源码 wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz # 解压并进入目录 tar xzf Python-3.10.12.tgz cd Python-3 准确地说... .10.12 # 配置编译选项 ./configure --prefix=/usr/local/python3 --enable-optimizations # 编译并安装 make -j$ sudo make altinstall 注意!
pip install django flask requests 归根结底, 无论你选择哪种方式,目的都是为了摆脱 Python 的束缚,进入 Python 的高效开发世界。下次当你再面对一台空白的 CentOS 服务器时 希望你能自信地微笑,然后熟练地敲下那条改变命运的命令——不管是 `yum install`还是`tar xzf`……加油吧,程序员!
我个人认为... . 虚拟环境:项目隔离的艺术 不要把所有项目的依赖都装到全局环境里那迟早会变成“依赖地狱”。学会使用 venv 或者 virtualenv 是专业开发者的基本素养 。 #创建虚拟环境 python -m venv myproject_env #激活虚拟环境 source myproject_env/bin/activate #现在你可以随意安装库了不会影响系统全局环境!
系统自带的或者源码编译自带的 pip ,往往不是最新的版本。新版 pip 在依赖解析和下载速度上都有很大提升。 #升级 pip python -m pip install --upgrade pip #配置国内源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 在国内开发, 如果不换源,下载第三方库的速度可能会让你怀疑人生,盘它。。
如果/usr/libexec/urlgrabber-ext-down文件存在也要记得改一下。 是不是很刺激?通过这种方式,我们成功让yum恢复了生机! 后续优化, 实不相瞒... 让开发更丝滑 装好 Python 就是万里长征第一步。要想真正提升效率,我们还需要做一些后续的优化工作。 1. 升级 pip 并配置国内源 乱弹琴。
避坑指南:拯救被“玩坏”的YUM 俗话说常在河边走,哪有不湿鞋。如果你之前不小心把系统的默认/ usr/bin/python 改成了 Python , 你会发现当你输入 yum 命令时会报出一堆语法错误,主要原因是 yum 是基于 Python 写 的,它看不懂 Python 的语法。# 修改yum解释器为 Python sudo sed -i '1s/python/python/' /usr/bin/yum sudo sed -i '1s/python/python/' /usr/libexec/urlgrabber-ext-down 胡诌,我整个人都不好了。。
创建软链接 # 创建软链接 sudo ln -s /usr/local/python /bin/python .10 /usr/bin/python sudo ln -s /usr/local/python /bin/pip .10 /usr/bin/pip 现在你在任何地方输入 python 系统都会调用你刚刚编译好的版本了,对,就这个意思。。
这里我使用的是 make altinstall 而不是 make install 。为什么要多加个 alt?主要原因是 install 会覆盖系统默认的 python 命令,我比较认同... 这简直是灾难。而 altinstall 只会安装我们指定的版本,非常平安。这是无数前辈踩坑出来的血泪经验,请务必牢记,很棒。。
作为一名开发者,我们每天都在与时间赛跑。当你满怀激情地拿到一台崭新的CentOS服务器, 准备大展身手部署你的最新项目时现实往往会给你泼一盆冷水——输入 python --version 系统冷冰冰地返回给你一个 Python 2.7.5。是不是瞬间感觉回到了十年前? 绝绝子... 这种“复古”的体验对于习惯了Python 3丰富特性和语法的现代开发者无疑是一种折磨。别担心, 今天我们就来一场彻底的“系统升级”,手把手教你如何在CentOS上快速安装Python 3,不仅解决版本焦虑,更能通过优化配置,让你的开发效率起飞,我始终觉得...
挖野菜。 在开始任何安装操作之前,保持冷静是程序员的第一修养。我们要先确认一下当前系统的状态,避免主要原因是误操作把系统搞崩。毕竟CentOS的很多核心工具是深度依赖Python 2的。如果我们贸然把系统的Python指向了Python 3, 那后果可能就是 yum 报错,系统无法更新,那时候你就真的只能“重装系统”了百感交集。。
先说说 打开你的终端, 用这几条命令来探探底:
python --version # 查看默认Python
python2 --version # 查看Python 2版本
python3 --version # 查看是否已安装Python 3
如果 python3 命令已经存在并且输出了你想要的版本,那么恭喜你,你可以跳过安装步骤,直接去看后面的优化部分。但大多数情况下CentOS 7都会告诉你 command not found。这时候,我们就需要根据需求选择安装方案了我是深有体会。,拭目以待。。
选择适合你的路
回顾一下我们在CentOS上安装Python 3主要有两条路:一条是利用YUM和EPEL的“快速路”, 是不是? 精辟。 适合追求稳定、不想折腾的朋友;另一条是源码编译的“极客路”,适合需要特定版本、追求极致性能的高手。
第一步:启用EPEL仓库
这一步非常简单,只需要一条命令。EPEL是Fedora社区维护的,质量相当有保障,啊这...。
# 安装EPEL仓库, 提供更多Python版本
sudo yum install epel-release -y
第二步:安装Python 3
有了EPEL之后我们就可以直接搜索并安装Python 3了。通常EPEL会提供比较新的稳定版, 正宗。 比如Python 3.6或3.8,干就完了!。
# 安装Python 3
sudo yum install python38 python38-pip -y
我们都曾是... 痛并快乐着。 这里我以安装Python 3.8为例。安装完成后别忘了验证一下:
# 验证安装
python3.8 --version # 查看Python 3.8版本
pip3.8 --version # 查看pip版本
我直接起飞。 是不是很简单?通过这种方式安装的Python 3,通常会与系统自带的Python 2并存,互不干扰。你可以直接使用 python3.8 命令来启动解释器。如果你需要其他版本,也可以通过 sudo yum search python3* 来查找仓库里还有哪些货。
虽然YUM很方便,但有时候它提供的版本无法满足我们的“贪婪”。比如 你想体验Python 3.9的新特性, 或者3.10、3.12的性能提升,这时候源码编译就是唯一的出路了。 欧了! 听起来好像很高大上,甚至有点吓人,其实只要按部就班,比拼乐高积木也难不到哪里去。而且,源码编译可以让我们自定义安装路径,更方便管理,脑子呢?。
1. 安装必要的依赖包
大胆一点... 很多新手在编译Python时容易遇到报错, 比如缺少 zlib 或者 openssl 的支持,导致pip无法使用,或者无法导入某些模块。这都是主要原因是缺少了开发工具包。在下载源码之前,我们先把“地基”打好。
# 安装开发工具组
sudo yum groupinstall "Development Tools" -y
# 安装Python编译依赖
sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget
这里特别要提一下 libffi-devel 如果你打算用Python 3.7及以上版本, 这个包是必须的,否则你会遇到 ModuleNotFoundError: No module named '_ctypes' 的错误,到时候再回来装就麻烦了。还有 openssl-devel 没有它,你的pip在访问https时会报错。
2. 下载并编译Python源码
# 下载源码 wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz # 解压并进入目录 tar xzf Python-3.10.12.tgz cd Python-3 准确地说... .10.12 # 配置编译选项 ./configure --prefix=/usr/local/python3 --enable-optimizations # 编译并安装 make -j$ sudo make altinstall 注意!
pip install django flask requests 归根结底, 无论你选择哪种方式,目的都是为了摆脱 Python 的束缚,进入 Python 的高效开发世界。下次当你再面对一台空白的 CentOS 服务器时 希望你能自信地微笑,然后熟练地敲下那条改变命运的命令——不管是 `yum install`还是`tar xzf`……加油吧,程序员!
我个人认为... . 虚拟环境:项目隔离的艺术 不要把所有项目的依赖都装到全局环境里那迟早会变成“依赖地狱”。学会使用 venv 或者 virtualenv 是专业开发者的基本素养 。 #创建虚拟环境 python -m venv myproject_env #激活虚拟环境 source myproject_env/bin/activate #现在你可以随意安装库了不会影响系统全局环境!
系统自带的或者源码编译自带的 pip ,往往不是最新的版本。新版 pip 在依赖解析和下载速度上都有很大提升。 #升级 pip python -m pip install --upgrade pip #配置国内源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 在国内开发, 如果不换源,下载第三方库的速度可能会让你怀疑人生,盘它。。
如果/usr/libexec/urlgrabber-ext-down文件存在也要记得改一下。 是不是很刺激?通过这种方式,我们成功让yum恢复了生机! 后续优化, 实不相瞒... 让开发更丝滑 装好 Python 就是万里长征第一步。要想真正提升效率,我们还需要做一些后续的优化工作。 1. 升级 pip 并配置国内源 乱弹琴。
避坑指南:拯救被“玩坏”的YUM 俗话说常在河边走,哪有不湿鞋。如果你之前不小心把系统的默认/ usr/bin/python 改成了 Python , 你会发现当你输入 yum 命令时会报出一堆语法错误,主要原因是 yum 是基于 Python 写 的,它看不懂 Python 的语法。# 修改yum解释器为 Python sudo sed -i '1s/python/python/' /usr/bin/yum sudo sed -i '1s/python/python/' /usr/libexec/urlgrabber-ext-down 胡诌,我整个人都不好了。。
创建软链接 # 创建软链接 sudo ln -s /usr/local/python /bin/python .10 /usr/bin/python sudo ln -s /usr/local/python /bin/pip .10 /usr/bin/pip 现在你在任何地方输入 python 系统都会调用你刚刚编译好的版本了,对,就这个意思。。
这里我使用的是 make altinstall 而不是 make install 。为什么要多加个 alt?主要原因是 install 会覆盖系统默认的 python 命令,我比较认同... 这简直是灾难。而 altinstall 只会安装我们指定的版本,非常平安。这是无数前辈踩坑出来的血泪经验,请务必牢记,很棒。。

