第 4 章 Python 环境搭建:安装、虚拟环境与 pip

环境搭建是自动录入接口开发的第一步,也是日后最容易踩坑的地方。说实话,我见过不少同事因为这一步没做扎实,项目中途出现各种版本冲突,最后不得不花一整天重建环境。这一章我们把 Python 环境拆成三块来讲:Python 解释器怎么装、虚拟环境如何隔离项目依赖、pip 怎么配才不闹心。跟着我走一遍,后面开发会顺很多。

4.1 Python 安装——选版本、配路径

Python 的版本我建议直接上 3.10 或 3.11,太老的版本(3.6 以下)很多新库已经不兼容了,太新的版本(3.13)第三方包可能还没跟上。我个人的习惯是:用长期支持版,比如 3.10.11 或 3.11.9,稳定且生态健全。

Windows 下安装

去官网下载对应版本的安装包。有一个关键勾选项:Add Python to PATH,一定要打钩。我第一次装的时候忘了勾,后面每次跑 python 都要写全路径,折腾了半天才反应过来。

# 安装后验证
python --version
# 输出示例
Python 3.10.11

macOS / Linux 下安装

macOS 自带 Python2,但咱们需要 Python3。可以用 Homebrew 安装:

brew install python@3.10
python3 --version

Linux 用户用系统包管理器也很快:

# Ubuntu / Debian
sudo apt update
sudo apt install python3 python3-pip python3-venv -y
python3 --version
小技巧:装完后把 Python 可执行文件别名设置为 python(如果系统默认是 python3)。比如在 ~/.bashrc 里加一行 alias python=python3,这样后面写命令更统一。

4.2 虚拟环境——隔离依赖的“保险箱”

虚拟环境是 Python 项目里最重要的实践,没有之一。想想看,你同时开发两个项目,一个用 Flask 2.0,另一个用 Flask 3.0,如果不隔离,全局里只能装一个版本,必炸。我在公司带团队时,每个新人都要过的第一关就是“所有代码必须跑在虚拟环境里”。

使用 venv(Python 3.3+ 自带)

不用装任何额外包,每个项目一个环境:

# 创建虚拟环境(命名为 venv)
python -m venv venv

# 激活
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate

# 激活后,终端前缀会显示 (venv)
(venv) $ pip list

使用 virtualenv(支持 Python 2 和 3,但现代项目建议直接用 venv)

pip install virtualenv
virtualenv myenv
source myenv/bin/activate

使用 conda(如果你做数据科学或需要非 Python 依赖)

conda create -n myproject python=3.10
conda activate myproject

我个人偏爱 venv,因为它干净、无额外依赖,而且所有现代 Python 都内置。但要注意一点:虚拟环境不要放进版本控制。我见过有人把整个 venv 目录提交到 git,结果一百多兆的二进制文件,拉取慢死。正确的做法是用 requirements.txt 记录依赖,每次部署时重建环境。

常见坑:有些编辑器(比如 VS Code)自动选择全局 Python 解释器,导致你明明激活了虚拟环境,运行脚本还是用的全局包。我曾经因为这个浪费了半小时。解决办法是:在项目根目录创建 .vscode/settings.json,手动指定解释器路径。

4.3 pip——包管理利器

pip 是 Python 的包管理器,几乎每个 Python 开发者每天都在用。但很多新手只用了 pip install 和 pip list,其实它还有不少实用技巧。

最常用的 pip 命令

命令 用途
pip install 包名 安装包
pip install 包名==版本 安装指定版本
pip install -r requirements.txt 批量安装依赖
pip freeze 导出已安装包的版本列表
pip uninstall 包名 卸载包
pip list --outdated 查看可升级的包

换国内源——你一定会遇到网速慢

默认的 pypi.org 在国内下载大包经常超时。我建议立刻换成清华或阿里源:

# 临时使用
pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 永久配置(Linux / macOS 下)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# Windows 下在 %APPDATA%\pip\pip.ini 中写入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

requirements.txt——环境复原的“配方”

每个项目都应该有一个 requirements.txt。导出方式:

# 导出当前虚拟环境的所有包及版本
pip freeze > requirements.txt

别人拿到这个文件后,只要执行:

pip install -r requirements.txt

就能还原一模一样的依赖环境。注意:pip freeze 会把所有包(包括依赖的依赖)都列出来,可能有点冗余。更精准的做法是用 pipreqs 只扫描项目实际 import 的包,但日常开发我还是习惯用 freeze,简单直接。

实战建议:在《自动录入接口开发实战》后续章节中,我们会频繁使用 pip 安装 flask、requests、openpyxl 等库。务必在虚拟环境里安装。养成一个习惯:每次新项目先创建虚拟环境,激活,再 pip install。绝不会出乱子。
Python 环境搭建三大组件关系图 Python 环境搭建核心组件关系 Python 解释器 (3.10 / 3.11) 虚拟环境 (venv / conda) pip 包管理 (国内源 + requirements) 项目依赖隔离 & 可复现 requirements.txt → pip install -r 三者协作:环境干净、部署可靠

小结

这一章就讲这三个东西:Python 解释器、虚拟环境、pip。它们就好比造房子的地基、房间和工具箱,缺一不可。记住我的一句话:环境搭好了,后面 90% 的“跑不起来”问题都能避免。等下一轮实战中你需要在系统里装十几个包时,就会感谢自己今天花了 20 分钟做好隔离。