版本冲突
多个项目使用同一个全局环境,一个项目升级库版本,另一个项目可能马上报错。
Python 项目能不能稳定运行,很多时候不只取决于代码本身,还取决于运行环境是否一致。开发环境与依赖管理,就是为了让每个项目都有干净、独立、可复现的运行空间。
很多 Python 项目问题,不是代码写错了,而是运行环境不一致。
版本冲突
多个项目使用同一个全局环境,一个项目升级库版本,另一个项目可能马上报错。
库更新报错
代码没有变,但依赖库更新后接口变化,也可能导致原本能跑的程序出错。
别人跑不起来
自己电脑能运行,不代表别人电脑也能运行。缺少依赖记录时,复现成本会很高。
环境不一致
Python 版本、依赖版本、系统环境不同,都可能让同一段代码出现不同结果。
一句话:很多问题不在代码,而在运行环境不一致。
项目依赖
项目依赖就是项目调用的第三方工具包,比如请求接口、处理文件、连接数据库、调用模型等。
虚拟环境
虚拟环境是项目自己的独立运行空间,用来隔离不同项目的依赖,避免互相污染。
版本锁定
版本锁定是把当前使用的库和版本记录下来,让别人或未来的自己能复现同样的运行环境。
venv 是 Python 自带的虚拟环境工具,适合入门阶段先掌握。
创建虚拟环境
python -m venv .venv激活虚拟环境:macOS / Linux
source .venv/bin/activate激活虚拟环境:Windows
.\.venv\Scripts\Activate.ps1退出虚拟环境
deactivatepip 是 Python 常用的依赖管理工具,先掌握这 5 个命令就够用了。
| 场景 | 命令 | 作用 |
|---|---|---|
| 安装依赖 | pip install requests |
安装指定第三方库 |
| 查看依赖 | pip list |
查看当前环境已安装的库 |
| 卸载依赖 | pip uninstall requests |
删除不再需要的库 |
| 生成依赖文件 | pip freeze > requirements.txt |
记录当前环境的依赖和版本 |
| 从文件安装 | pip install -r requirements.txt |
根据依赖文件复现环境 |
一个新 Python 项目,可以按这个顺序处理环境:
进入项目目录:先确认当前终端位置是在项目根目录。
创建虚拟环境:执行 python -m venv .venv。
激活虚拟环境:macOS / Linux 使用 source .venv/bin/activate,Windows 使用 .\.venv\Scripts\Activate.ps1。
安装项目依赖:例如 pip install requests。
锁定依赖版本:执行 pip freeze > requirements.txt。
复现环境:换机器或协作开发时,执行 pip install -r requirements.txt。
环境搭好之后,不是只看命令有没有执行成功,而是要用一个最小脚本验证。
干净环境
当前项目使用独立 .venv,不依赖全局 Python 环境里的包。
依赖可查看
能通过 pip list 看见当前环境安装了哪些库。
版本可复现
能用 requirements.txt 记录依赖,并在新环境中重新安装。
脚本能运行
词频统计这类最小脚本能在当前虚拟环境下成功运行。