温馨提示×

CentOS系统如何配置Python

小樊
47
2025-11-16 03:46:56
栏目: 编程语言

CentOS 配置 Python 环境实用指南

一 准备与版本确认

  • 更新系统并查看现有版本:
    • 命令:sudo yum update -y
    • 查看:python --versionpython3 --version
  • 说明:CentOS 7/8 通常预装 Python 2.7,但生产建议使用 Python 3.x。为避免影响系统工具,尽量不要替换系统自带的 python 命令。

二 安装方式

  • 方式一 使用 YUM 安装(快速、稳定)
    • 安装:sudo yum install -y python3 python3-pip
    • 验证:python3 --versionpip3 --version
    • 说明:适合大多数场景,版本以仓库为准。
  • 方式二 使用 IUS 仓库获取更新版本(CentOS 7 常见)
    • 安装仓库与包:
      • sudo yum install -y epel-release
      • sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
      • sudo yum install -y python39u python39u-devel
    • 验证:python3.9 --versionpip3.9 --version
    • 说明:IUS 提供较新的 Python 3.x 版本。
  • 方式三 从源码编译安装(指定版本、可定制)
    • 安装依赖:
      • sudo yum groupinstall -y "Development Tools"
      • sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget
    • 编译安装(示例为 3.11.0):
      • wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
      • tar -xzf Python-3.11.0.tgz && cd Python-3.11.0
      • ./configure --prefix=/usr/local/python3.11 --with-ssl
      • make -j $(nproc) && sudo make altinstall
    • 验证:/usr/local/python3.11/bin/python3.11 --version
    • 说明:使用 --prefix 指定安装前缀,使用 make altinstall 避免覆盖系统 python。如需便捷调用,可创建软链接(见下文)。

三 多版本管理与默认版本切换

  • 使用 alternatives 切换默认 python3(推荐)
    • 注册与选择:
      • sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
      • sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
      • sudo alternatives --config python3
    • 验证:python3 --version
    • 说明:安全、可回退,不改动系统脚本解释器。
  • 使用 pyenv 管理多版本(开发推荐)
    • 安装与初始化:
      • curl https://pyenv.run | bash
      • 将以下写入 ~/.bashrcsource ~/.bashrc
        • export PATH="$HOME/.pyenv/bin:$PATH"
        • eval "$(pyenv init --path)"
        • eval "$(pyenv init -)"
        • eval "$(pyenv virtualenv-init -)"
    • 安装与设置版本:
      • pyenv install 3.9.9
      • pyenv global 3.9.9
    • 验证:python --version
    • 说明:同一台机器可并存多个版本,按项目切换。

四 虚拟环境与包管理

  • 使用内置 venv 隔离依赖(推荐)
    • 安装 venv(若未随 python3 安装):sudo yum install -y python3-venv
    • 创建与激活:
      • python3 -m venv venv
      • source venv/bin/activate
    • 退出:deactivate
    • 在虚拟环境中使用 pip:pip install -U pip,随后安装项目依赖。
  • 使用 requirements.txt
    • 导出:pip freeze > requirements.txt
    • 安装:pip install -r requirements.txt
    • 说明:便于复现环境与协作。

五 常见问题与注意事项

  • 不要替换系统 python(如 /usr/bin/python
    • 系统工具(如 yum)依赖 Python 2.7,替换会导致故障。若必须调整默认解释器,请仅针对 python3 使用 alternatives,或使用 pyenv 在用户态管理版本。
  • 编译时启用 SSL 支持
    • 配置参数建议包含:--with-ssl,否则可能影响 pip 访问 HTTPS 源。
  • 提升 pip 安全性与速度
    • 升级:pip install -U pip
    • 使用国内镜像(可选):pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
  • 作为系统服务运行 Python 脚本
    • 创建服务文件 /etc/systemd/system/myapp.service
      [Unit]
      Description=My Python App
      After=network.target
      
      [Service]
      ExecStart=/usr/bin/python3 /opt/myapp/app.py
      WorkingDirectory=/opt/myapp
      User=myuser
      Group=mygroup
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now myapp.service
      • sudo systemctl status myapp.service
    • 说明:适合 Flask/FastAPI/定时任务等长期运行场景。

0