/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
本教程以 Ubuntu 24.04 LTS 为例。
适合第一次在 Linux 服务器上安装 Python 的用户。
最终目标:
- 安装 Python 3
- 安装 pip
- 配置 python 命令
- 创建 Python 虚拟环境
- 安装第三方依赖
- 掌握基本的 Python 项目运行方式
一、先理解 Python、pip 和虚拟环境
在开始之前,先搞清楚几个概念。
1. Python 是什么?
Python 是编程语言和运行环境。
例如:
python3 –version
可以查看 Python 版本:
Python 3.12.3
2. pip 是什么?
pip 是 Python 的第三方软件包管理工具。
例如你的项目需要:
FastAPI
Requests
Django
PyMySQL
Redis
就可以通过 pip 安装:
pip install requests
可以简单理解为:
Python
↓
运行 Python 程序
pip
↓
安装 Python 第三方库
3. 虚拟环境是什么?
假设服务器上有两个项目:
项目 A → requests 2.x
项目 B → requests 3.x
如果所有依赖都安装到系统 Python 中,就容易发生版本冲突。
虚拟环境就是给每个项目准备一个独立的 Python 环境:
服务器
│
├── 系统 Python
│
├── 项目 A
│ └── .venv
│ └── Python + 项目依赖
│
└── 项目 B
└── .venv
└── Python + 项目依赖
因此:
服务器安装 Python ≠ 给所有项目共用一个 Python 环境。
推荐:
系统 Python 负责系统本身,项目使用自己的虚拟环境。
二、检查服务器是否已经安装 Python
登录服务器:
ssh 用户名@服务器IP
例如:
ssh ayy@192.168.0.10
登录以后执行:
python3 –version
如果看到:
Python 3.12.3
说明 Python 已经安装。
再执行:
which python3
如果看到:
/usr/bin/python3
说明当前使用的是 Ubuntu 系统自带的 Python。
三、如果没有 Python,安装 Python
Ubuntu 可以直接通过 APT 安装。
首先更新软件包索引:
sudo apt update
然后安装 Python:
sudo apt install -y python3
安装完成以后:
python3 –version
例如:
Python 3.12.3
再检查:
which python3
通常会得到:
/usr/bin/python3
四、安装 pip
这一步非常重要。
刚安装完 Python 后,可能出现:
pip3 –version
然后提示:
Command 'pip3' not found
这并不代表 Python 安装失败。
只是说明:
Python 已经安装,但 pip 还没有安装。
执行:
sudo apt install -y python3-pip
安装完成以后:
pip3 –version
也可以使用更推荐的方式:
python3 -m pip –version
如果正常,会看到类似:
pip 24.x from /usr/lib/python3/dist-packages/pip
五、安装虚拟环境功能
Ubuntu 中还需要安装 venv。
执行:
sudo apt install -y python3-venv
为什么需要它?
因为后面创建项目虚拟环境时需要:
python3 -m venv .venv
如果没有安装 python3-venv,可能会出现类似:
The virtual environment was not created successfully
所以推荐一次安装:
sudo apt install -y python3-pip python3-venv
六、是否需要安装 python 命令?
Ubuntu 默认可能只有:
python3
执行:
python –version
可能得到:
Command 'python' not found
这也是正常的。
Ubuntu 明确区分:
python3
和:
python
如果希望以后直接使用:
python
来代表 Python 3,可以安装:
sudo apt install -y python-is-python3
然后:
python –version
就会得到:
Python 3.12.3
可以理解为:
python
↓
python3
↓
Python 3.12.3
七、推荐一次性安装基础 Python 环境
如果是一台刚准备好的 Ubuntu 服务器,可以直接执行:
sudo apt update
sudo apt install -y \\
python3 \\
python3-pip \\
python3-venv \\
python-is-python3
安装完成以后检查:
python3 –version
python –version
python3 -m pip –version
pip3 –version
which python3
which python
正常情况下类似:
Python 3.12.3
Python 3.12.3
pip 24.x
pip 24.x
/usr/bin/python3
/usr/bin/python
八、创建第一个 Python 项目
不要直接在 /usr/bin 或系统目录里面开发。
建议创建自己的项目目录。
例如:
mkdir -p ~/projects/python-demo
进入项目:
cd ~/projects/python-demo
查看当前位置:
pwd
例如:
/home/ayy/projects/python-demo
九、创建 Python 虚拟环境
在项目目录执行:
python3 -m venv .venv
这里:
python3
表示使用 Python 3。
-m venv
表示使用 Python 自带的虚拟环境模块。
.venv
表示把虚拟环境创建到 .venv 目录。
最终:
python-demo/
└── .venv/
十、激活虚拟环境
执行:
source .venv/bin/activate
成功以后,命令行前面通常会出现:
(.venv)
例如:
(.venv) ayy@server:~/projects/python-demo$
这表示:
当前终端已经进入 Python 虚拟环境。
十一、检查虚拟环境是否生效
执行:
python –version
然后:
which python
正常应该看到类似:
Python 3.12.3
以及:
/home/ayy/projects/python-demo/.venv/bin/python
注意这里已经不是:
/usr/bin/python3
而是:
~/projects/python-demo/.venv/bin/python
这说明虚拟环境已经生效。
十二、升级 pip
进入虚拟环境以后,建议升级 pip:
python -m pip install –upgrade pip
然后检查:
python -m pip –version
推荐以后使用:
python -m pip
例如:
python -m pip install requests
而不是简单使用:
pip install requests
原因是:
python -m pip
可以明确表示:
使用当前这个 Python 对应的 pip。
对于服务器存在多个 Python 版本的情况,这种写法更加安全。
十三、安装第一个 Python 第三方库
例如安装 requests:
python -m pip install requests
安装完成以后:
python -m pip list
应该可以看到:
requests
测试:
python -c "import requests; print(requests.__version__)"
如果能够正常输出版本号,说明安装成功。
十四、编写第一个 Python 程序
创建:
vim hello.py
输入:
print("Hello Python!")
保存以后执行:
python hello.py
输出:
Hello Python!
恭喜,你已经完成:
服务器
↓
Python
↓
pip
↓
虚拟环境
↓
第三方库
↓
Python 程序
十五、退出虚拟环境
使用完以后:
deactivate
前面的:
(.venv)
就会消失。
再次进入项目时:
cd ~/projects/python-demo
然后:
source .venv/bin/activate
即可重新进入。
十六、Python 项目为什么需要 requirements.txt?
实际项目通常会依赖很多 Python 库。
例如:
FastAPI
Uvicorn
Requests
Redis
PyMySQL
如果把项目部署到另一台服务器,不可能一个一个记住。
所以 Python 项目通常使用:
requirements.txt
例如:
fastapi==0.116.1
uvicorn==0.35.0
requests==2.32.5
安装所有依赖:
python -m pip install -r requirements.txt
这样部署项目就简单很多。
十七、生成 requirements.txt
如果当前虚拟环境已经安装好了项目依赖:
python -m pip freeze > requirements.txt
查看:
cat requirements.txt
例如:
fastapi==0.116.1
requests==2.32.5
uvicorn==0.35.0
以后换服务器:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
就可以快速恢复项目环境。
十八、不要随意修改系统 Python
这是服务器安装 Python 时最需要注意的一点。
不要执行类似:
sudo rm /usr/bin/python3
也不要随意执行:
sudo ln -sf /xxx/python3 /usr/bin/python3
更不要为了升级 Python,直接替换 Ubuntu 的系统 Python。
因为:
Ubuntu
│
├── apt
├── 系统工具
├── cloud-init
└── 其他系统组件
│
└── 可能依赖系统 Python
如果强行替换:
/usr/bin/python3
可能导致:
apt 无法正常运行
系统工具异常
系统升级失败
服务器管理功能异常
正确思路
系统 Python
│
└── Ubuntu 自己管理
项目 Python
│
└── .venv 自己管理
不要为了项目需求修改系统 Python。
十九、服务器多个 Python 版本怎么办?
例如:
项目 A → Python 3.12
项目 B → Python 3.13
项目 C → Python 3.14
不要直接替换:
/usr/bin/python3
可以考虑:
pyenv
uv
Docker
其中服务器生产环境尤其推荐考虑 Docker:
服务器
│
├── Docker
│
├── Python 3.12 容器
│ └── 项目 A
│
├── Python 3.13 容器
│ └── 项目 B
│
└── Python 3.14 容器
└── 项目 C
这样 Python 版本和系统环境完全隔离。
二十、生产服务器不要使用 root 运行 Python
开发测试的时候:
root
运行程序比较简单。
但是生产环境不推荐。
例如创建专用用户:
sudo useradd -r -m -s /bin/bash pythonapp
然后让 Python 项目使用:
pythonapp
运行。
整体结构:
Internet
↓
Nginx
↓
Python Web 服务
↓
pythonapp 用户
↓
项目 .venv
这样可以降低 Python 应用出现安全漏洞时对服务器造成的影响。
二十一、Python Web 服务推荐架构
如果以后使用 FastAPI、Flask 等开发后端服务,生产环境通常不要直接:
python app.py
推荐:
Internet
│
▼
Nginx
│
▼
Uvicorn / Gunicorn
│
▼
FastAPI
/ \\
/ \\
MySQL Redis
例如 FastAPI:
python -m pip install fastapi uvicorn
启动:
uvicorn app:app –host 0.0.0.0 –port 8000
生产环境再结合:
systemd
Docker
Nginx
GitLab CI/CD
实现自动部署和服务管理。
二十二、完整安装流程
如果你是新手,不想看上面的解释,可以记住下面这一套。
第一步:安装 Python
sudo apt update
sudo apt install -y \\
python3 \\
python3-pip \\
python3-venv \\
python-is-python3
第二步:检查
python3 –version
python –version
python3 -m pip –version
第三步:创建项目
mkdir -p ~/projects/python-demo
cd ~/projects/python-demo
第四步:创建虚拟环境
python3 -m venv .venv
第五步:进入虚拟环境
source .venv/bin/activate
第六步:升级 pip
python -m pip install –upgrade pip
第七步:安装依赖
例如:
python -m pip install requests
第八步:运行 Python
python hello.py
第九步:退出虚拟环境
deactivate
二十三、最终推荐的目录结构
一个简单的 Python 项目可以这样组织:
python-demo/
│
├── .venv/ # Python 虚拟环境
│
├── app.py # 程序入口
│
├── requirements.txt # Python 依赖
│
├── README.md # 项目说明
│
└── .gitignore # Git 忽略文件
其中:
.venv/ 不应该提交到 Git。
.gitignore:
.venv/
__pycache__/
*.pyc
.env
二十四、常见问题
Q1:为什么有 python3,没有 python?
Ubuntu 默认可能只提供:
python3
如果需要:
python
可以安装:
sudo apt install python-is-python3
Q2:为什么 Python 有了,但是 pip 没有?
因为 Python 和 pip 是不同的软件包。
安装:
sudo apt install python3-pip
Q3:为什么 pip3 install 不推荐直接使用?
不是不能用,而是服务器可能存在多个 Python。
更推荐:
python3 -m pip
进入虚拟环境以后:
python -m pip
Q4:为什么要创建 .venv?
为了让不同项目之间的 Python 依赖相互隔离。
例如:
项目 A
requests 2.x
项目 B
requests 3.x
互不影响。
Q5:.venv 可以删除吗?
可以。
虚拟环境本质上就是一个目录。
删除:
rm -rf .venv
然后重新创建:
python3 -m venv .venv
再安装:
python -m pip install -r requirements.txt
即可恢复。
二十五、安装完成后的检查清单
最终可以执行:
python3 –version
python –version
python3 -m pip –version
which python3
创建项目:
mkdir -p ~/projects/python-demo
cd ~/projects/python-demo
创建环境:
python3 -m venv .venv
source .venv/bin/activate
检查:
which python
python –version
python -m pip –version
如果看到:
Python 3.12.3
/home/ayy/projects/python-demo/.venv/bin/python
pip xx.x from /home/ayy/projects/python-demo/.venv/…
那么说明:
Python + pip + 虚拟环境已经全部配置完成。
总结
对于 Ubuntu 服务器,新手记住下面这个原则就够了:
① Ubuntu 系统
│
▼
② 安装 Python 3
│
▼
③ 安装 pip + venv
│
▼
④ 创建 Python 项目
│
▼
⑤ 创建 .venv 虚拟环境
│
▼
⑥ 激活 .venv
│
▼
⑦ pip 安装项目依赖
│
▼
⑧ 运行 Python 项目
最推荐的基础命令就是:
sudo apt update
sudo apt install -y python3 python3-pip python3-venv python-is-python3
mkdir -p ~/projects/python-demo
cd ~/projects/python-demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install –upgrade pip
对于普通 Ubuntu 服务器,这套方案已经足够稳定,不需要一开始就折腾 pyenv、源码编译 Python 或替换系统 Python。
网硕互联帮助中心





评论前必须登录!
注册