Python 虚拟环境与依赖管理:venv 快速上手
很多 Python 项目一开始都能跑,换一台机器就出问题:本地装过的依赖在新环境提示找不到,两个项目要的库版本互相冲突。根源常不是代码写错,而是没有给每个项目独立的依赖空间。venv 是 Python 自带的办法,它为项目创建隔离的解释器和包目录,让依赖互不干扰。
一、为什么需要虚拟环境
全局安装的包是所有项目共用的,项目 A 要旧版本、项目 B 要新版本时,全局环境只能保留一个。虚拟环境把解释器、pip 和包目录复制成项目专属的一份,互不影响;删掉它也不会影响系统 Python。团队只要约定 Python 版本和依赖清单,就能在干净环境复现同样的运行结果。
二、创建与激活
在项目根目录执行:
python -m venv .venv
Windows 激活:
.venv\Scripts\activate
macOS 或 Linux 激活:
source .venv/bin/activate
出现 (.venv) 标记即表示当前 python 和 pip 已指向虚拟环境,退出用 deactivate。把 .venv 加入 .gitignore,只提交代码和依赖清单。
三、在虚拟环境里装包
激活后再装包,包只进当前环境:
pip install requests
pip list
先升级 pip 可减少失败;指定版本时写清,如 pip install “requests==2.32.3”,避免大版本升级破坏项目。pytest、black 等开发工具可与运行依赖分开记录。
四、用 requirements.txt 固化依赖
不要凭记忆重装。导出用:
pip freeze > requirements.txt
新环境创建并激活虚拟环境后执行:
pip install -r requirements.txt
这份清单就是依赖快照,定期清理无用包,上线前在干净环境按清单重装一次,是最有效的自查。
五、常见问题
忘记激活最常见:没有 (.venv) 标记就装包,包会进全局环境。编辑器选错解释器也一样,调试前确认 python 路径指向 .venv。安装失败时,先看 Python 版本、网络与镜像,再考虑升级 pip。
结语
先隔离、再安装、最后固化清单,依赖问题就从玄学变成可复现、可修复的常规操作。这也是 Python 项目最值得养成的基本习惯。
- 点赞
- 收藏
- 关注作者
评论(0)