部署Python环境
约 604 字大约 2 分钟
2026-08-29
本文介绍在 Linux 服务器上安装 Python 3 与 pip、配置国内镜像加速,并用 venv 隔离项目依赖——这是运行 Python 脚本、爬虫与 Web 应用(Django / Flask / FastAPI)的基础环境。
先确认再安装
多数系统镜像已预装 Python 3(Ubuntu 22.04 自带 3.10、Rocky 9 自带 3.9),先执行 python3 --version 确认,版本满足需要即可跳过安装。
安装 Python 3 与 pip
sudo apt update
sudo apt install python3 python3-pip python3-venv -ysudo dnf install python3 python3-pip -y安装慢或超时的,先把软件源换成国内镜像,参见管理Linux实例软件源。完成后验证:
python3 --version
pip3 --versionpip 换国内镜像源
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple执行后写入 ~/.config/pip/pip.conf 永久生效。单次指定可用 -i 参数:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests其他可选源:阿里云 mirrors.aliyun.com/pypi/simple、腾讯云 mirrors.cloud.tencent.com/pypi/simple。
venv 虚拟环境(推荐)
不同项目依赖的包版本可能冲突,用 venv 给每个项目建独立环境:
mkdir ~/myapp && cd ~/myapp
# 创建虚拟环境(目录名习惯用 .venv)
python3 -m venv .venv
# 激活:提示符前出现 (.venv) 即成功
source .venv/bin/activate
# 在虚拟环境内安装依赖(无需 sudo)
pip install requests flask
# 退出虚拟环境
deactivate部署项目时用 requirements.txt 固定依赖版本:
pip freeze > requirements.txt # 导出当前依赖
pip install -r requirements.txt # 在新环境中安装让应用常驻运行
直接 python3 app.py 在断开 SSH 后会停止,生产环境用 systemd 托管,创建 /etc/systemd/system/myapp.service:
[Unit]
Description=My Python App
After=network.target
[Service]
WorkingDirectory=/root/myapp
ExecStart=/root/myapp/.venv/bin/python app.py
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now myapp开机脚本不生效的排查思路见rc.local开机脚本不生效。
常见问题
提示 pip: command not found?
安装 pip 或用内置模块补装:
sudo apt install python3-pip # Debian/Ubuntu
# 或
python3 -m ensurepip --upgrade只有 python3,没有 python 命令?
部分系统未提供 python 短命令,习惯用 python3 即可;确需别名可 alias python=python3 写入 ~/.bashrc,不建议改系统默认指向。
pip 安装报 externally-managed-environment?
Debian 12 / Ubuntu 23.04 起的系统遵循 PEP 668 保护系统 Python。正确做法就是用上文 venv(推荐);单机工具可装 pipx;临时图快用 pip install --break-system-packages <包名>(不推荐,可能破坏系统工具)。
