CentOS如何安装Python开发环境
小樊
35
2025-12-05 21:45:20
在 CentOS 上搭建 Python 开发环境
一 准备系统与依赖
- 更新系统并安装编译与运行时依赖(适用于 CentOS 7/8):
- 安装开发工具与常用库:
- sudo yum update -y
- sudo yum groupinstall -y “Development Tools”
- sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget
- 如计划使用 venv,安装对应包:sudo yum install -y python3-venv
- 说明:上述依赖用于从源码编译 Python 以及确保 pip、ssl、sqlite 等模块可用。
二 安装 Python 的三种常用方式
- 方式一 使用 YUM 安装系统仓库的 Python 3(最快速)
- 安装:sudo yum install -y python3 python3-pip
- 验证:python3 --version、pip3 --version
- 适用:希望快速获得可用环境;版本通常较旧但稳定。
- 方式二 从源码编译安装指定版本(推荐,版本可控)
- 下载与解压(示例为 3.12.1,可按需替换版本号):
- wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz
- tar xvf Python-3.12.1.tgz && cd Python-3.12.1
- 配置、编译与安装(使用 altinstall 避免覆盖系统 python):
- ./configure --prefix=/usr/local/python3.12 --enable-optimizations
- make -j “$(nproc)”
- sudo make altinstall
- 验证:python3.12 --version
- 说明:–enable-optimizations 会进行额外优化,编译耗时更长;-j 使用多核加速。
- 方式三 使用版本管理工具 pyenv(多版本并存与切换)
- 安装 pyenv:curl https://pyenv.run | bash
- 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
- export PATH=“$HOME/.pyenv/bin:$PATH”
- eval “$(pyenv init --path)”
- eval “$(pyenv init -)”
- 重新加载:source ~/.bashrc
- 安装与切换版本:
- pyenv install 3.9.0
- pyenv global 3.9.0 或 pyenv local 3.9.0
- 验证:python --version
- 说明:适合需要在多个项目间切换 Python 版本的开发者。
三 配置虚拟环境与包管理
- 创建与激活虚拟环境(以已安装的 python3.x 为例):
- python3.x -m venv venv
- source venv/bin/activate
- 退出:deactivate
- 在虚拟环境中使用 pip:
- 升级 pip:python -m pip install --upgrade pip
- 安装依赖:pip install -r requirements.txt
- 常用:pip list、pip install 包名、pip uninstall 包名
- 说明:venv 能隔离项目依赖,避免系统级包冲突,是 Python 开发的最佳实践。
四 多版本共存与系统 Python 的注意事项
- 不要覆盖系统自带的 /usr/bin/python(CentOS 7 常见为 python2.7,yum 等系统工具依赖它)。从源码安装时使用 make altinstall,或用 pyenv/软链到独立路径(如 /usr/local/bin/python3.x)。
- 若必须调整默认 python 命令,请优先使用 alternatives 机制或仅修改个人环境的 PATH;修改系统脚本(如 yum)的 shebang 存在风险,需谨慎评估。
- 建议做法:保持系统 python 指向 python2.7 不变,开发时显式使用 python3.x 或激活虚拟环境。
五 可选 部署与运行 Web 服务的最小示例
- 安装与启动 Nginx:
- sudo yum install -y epel-release
- sudo yum install -y nginx
- sudo systemctl start nginx && sudo systemctl enable nginx
- 在虚拟环境中安装 Gunicorn 并启动应用(示例):
- pip install gunicorn
- gunicorn -b 127.0.0.1:8000 myapp:app
- 配置 Nginx 反向代理(/etc/nginx/conf.d/default.conf):
- server { listen 80; server_name your_domain.com;
- location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
- 重启 Nginx:sudo systemctl restart nginx
- 开放防火墙(如启用 firewalld):
- sudo firewall-cmd --permanent --add-service=http
- sudo firewall-cmd --permanent --add-service=https
- sudo firewall-cmd --reload
- 说明:以上为最小可用配置,生产环境需结合进程管理(如 systemd)、日志与超时等参数优化。