Python 虚拟环境与 pip 包管理实战:告别依赖冲突
一、为什么需要虚拟环境
学 Python 的新手常遇到一个怪现象:在自己电脑上跑得好好的脚本,换一台机器就报错;或者装了一个新库,旧项目突然跑不起来。根子大多出在“全局环境”上——所有项目共用同一套 Python 和第三方库,A 项目要 requests 2.x,B 项目要 requests 1.x,两者注定打架。
虚拟环境就是给每个项目发一间“独立小屋”:各自的解释器链接、各自的 site-packages,互不干扰。Python 3.3 起内置的 venv 模块开箱即用,不用再装 virtualenv。
二、三步创建并激活环境
1. 创建(在项目目录下执行,myenv 是环境名,可自取):
python -m venv myenv
2. 激活:
Windows:myenv\Scripts\activate
Linux / macOS:source myenv/bin/activate
3. 确认:命令行最前面出现 (myenv) 即成功。
退出环境只需输入 deactivate。记住一条铁律:装包之前先看一眼提示符,确认小括号里的环境名是你想要的。
三、pip 的五个高频命令
pip install requests——安装
pip install requests==2.31.0——安装指定版本
pip install -U requests——升级
pip uninstall requests——卸载
pip list——查看已安装的包
建议每次安装都显式指定版本范围,比如 requests>=2.28,<3,既能吃到补丁更新,又不会被大版本 breaking change 偷袭。
四、用 requirements.txt 固化依赖
项目交付或换机器时,靠口头说“装一下 requests”不靠谱。标准做法是导出依赖清单:
pip freeze > requirements.txt(导出当前环境全部包及版本)
pip install -r requirements.txt(一键还原)
把 requirements.txt 提交到代码仓库,新人 clone 下来一条命令就能复刻你的环境,这是团队协作的基本素养。
五、下载太慢?换个国内源
pip 默认从官方源下载,网络波动时慢得让人怀疑人生。可以临时指定镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
也可以一劳永逸写进配置(Linux/macOS 下 ~/.pip/pip.conf,Windows 下 %APPDATA%\pip\pip.ini),之后每次 install 自动走镜像。
六、三个新手常踩的坑
1. 装错了环境:激活 A 环境,却在 B 项目里 import——先看提示符再 pip。
2. pip 和 pip3 打架:一台机器多个 Python 时,用 python -m pip 代替裸 pip,保证“哪个 python 就用哪个 pip”。
3. 把虚拟环境目录提交到 Git:myenv/ 里动辄几百兆,记得加进 .gitignore,只提交 requirements.txt。
七、小结
虚拟环境 + requirements.txt + 国内镜像,这三板斧足以覆盖日常 90% 的 Python 依赖管理场景。从今天起,每个新项目先 python -m venv,再谈写代码——这是专业 Python 开发者的第一个好习惯。
- 点赞
- 收藏
- 关注作者
评论(0)