商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > CentOS环境下Python安装最佳实践

CentOS环境下Python安装最佳实践

  发布于2026-07-27 阅读(0)

扫一扫,手机访问

先检查一下现有Python版本。在安装前,确认系统是否自带Python及版本——CentOS 7默认是Python 2.7,CentOS 8+默认是Python 3.6+。执行以下命令快速查看:

python --version
# 查看Python 2版本(如有)
python3 --version # 查看Python 3版本

注意,不要覆盖系统默认的Python,否则可能影响yum等系统工具的正常运行。

推荐安装方式:优先使用YUM包管理器

YUM是CentOS官方包管理工具,用它安装的Python版本经过适配,稳定性高,还能自动解决依赖问题。具体步骤如下:

  • 更新系统包,确保软件源最新:
    sudo yum update -y
  • 安装EPEL仓库(CentOS 7需要额外添加,提供更多Python版本):
    sudo yum install epel-release -y
  • 安装Python 3:
    • CentOS 7:通过EPEL安装Python 3.8+
      sudo yum install python38 python38-pip -y
    • CentOS 8+:使用DNF安装(或yum
      sudo dnf install python3 -y
  • 验证安装:
    python3 --version
    # 输出类似Python 3.8.12
    pip3 --version # 确认pip可用

这种方法适合大多数用户,无需手动编译,省时省力。

备选方案:从源码编译安装(需特定版本时)

如果需要最新Python版本(如3.11+)或自定义编译选项(如PGO优化),可以选择源码编译。步骤如下:

  • 安装编译依赖:
    sudo yum groupinstall "Development Tools" -y
    # 安装gcc、make等工具
    sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel -y
    # Python编译依赖
  • 下载并解压源码(以3.9.9为例):
    cd /usr/src
    sudo wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
    sudo tar xzf Python-3.9.9.tgz
    cd Python-3.9.9
  • 配置与编译:
    sudo ./configure --enable-optimizations
    # 启用PGO优化(提升运行性能)
    sudo make -j $(nproc) # 多线程编译(加快进度)
    sudo make altinstall
    # 避免覆盖系统Python
  • 验证安装:
    python3.9 --version
    # 输出Python 3.9.9

编译过程耗时较长,需根据CPU核心数调整-j参数(如-j 4表示4线程)。

灵活管理多版本:使用pyenv工具

若需在同一系统运行多个Python版本(如项目A用3.8,项目B用3.9),推荐使用pyenv

  • 安装依赖:
    sudo yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel tk-devel libffi-devel xz-devel -y
  • 安装pyenv:
    curl https://pyenv.run | bash
  • 配置环境变量(添加到~/.bashrc):
    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
    source ~/.bashrc
  • 使用pyenv:
    • 安装指定版本:
      pyenv install 3.9.9
    • 设置全局版本(默认):
      pyenv global 3.9.9
    • 为项目设置局部版本(仅当前目录生效):
      pyenv local 3.8.12
  • 验证版本:
    python --version
    # 输出当前pyenv管理的版本

pyenv的优势在于能无缝切换版本,且支持版本回滚,尤其适合开发环境。

必须使用虚拟环境隔离项目依赖

为了避免不同项目间的Python包冲突(例如项目A用Django 3.x,项目B用Django 4.x),推荐使用venv(Python 3内置)或pipenv(更高级的依赖管理):

  • 使用venv创建虚拟环境:
    python3 -m venv myenv
    # 创建名为myenv的虚拟环境
    source myenv/bin/activate
    # 激活环境(CentOS 7需用`source`)
    激活后,终端提示符会显示(myenv),表示已进入虚拟环境。
  • 安装项目依赖:
    pip install -r requirements.txt
    # 安装项目依赖文件中的包
  • 退出虚拟环境:
    deactivate
  • 使用pipenv(可选):
    pip install pipenv
    # 安装pipenv
    pipenv install django==3.2.16
    # 安装指定版本包并创建虚拟环境
    pipenv shell
    # 激活虚拟环境

虚拟环境是Python开发的最佳实践,能有效解决“依赖地狱”问题。

优化与安全注意事项

  • 不要覆盖系统Python:使用make altinstall而非make install(源码编译时),或通过YUM/pyenv安装,防止破坏系统工具(如yum依赖Python 2)。
  • 定期更新Python与包:
    • 更新YUM/DNF包:sudo yum update python3 -y
    • 更新pip包:pip list --outdated | awk '{print $1}' | xargs -n1 pip install -U保持版本最新,修复安全漏洞。
  • 管理GCC版本:若编译高版本Python(如3.11+),可能需要升级GCC(CentOS 7默认GCC 4.8.5不支持),可使用devtoolset
    sudo yum install centos-release-scl -y
    sudo yum install devtoolset-11 -y
    # 安装GCC 11
    scl enable devtoolset-11 bash
    # 临时启用GCC 11
    编译完成后,可退出scl环境(exit)。
本文转载于:https://www.yisu.com/ask/10649816.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注