Python虚拟环境与依赖管理入门
【摘要】 Python虚拟环境与依赖管理入门
Python虚拟环境与依赖管理入门
在 Python 开发中,你是否遇到过这样的困扰:项目 A 需要 requests 2.x,项目 B 却依赖 requests 1.x;或者在自己电脑上运行正常的代码,换一台机器就报错?这些问题的根源,大多是没有把虚拟环境和依赖管理做好。本文带你从零开始了解 Python 的虚拟环境与依赖管理。
一、为什么需要虚拟环境
Python 默认把所有第三方包安装到全局的 site-packages 目录中。当多个项目共用同一套全局包时,很容易出现版本冲突:升级一个包修复了项目 A,却可能把项目 B 搞崩。虚拟环境(Virtual Environment)为每个项目创建独立的解释器副本和包目录,让各项目的依赖互不干扰,这是 Python 开发最值得养成的习惯之一。
二、venv:开箱即用的虚拟环境
Python 3.3 起内置了 venv 模块,不需要安装任何额外工具:
# 创建虚拟环境
python -m venv .venv
# 激活(Windows)
.venv\Scripts\activate
# 激活(macOS / Linux)
source .venv/bin/activate
# 退出虚拟环境
deactivate
激活后,命令行提示符前会出现 (.venv) 前缀,此时用 pip 安装的包只会进入当前虚拟环境的目录,不会污染全局环境。
三、用 pip 管理依赖
进入虚拟环境后,依赖管理就围绕 pip 展开:
# 安装指定版本
pip install requests==2.31.0
# 导出依赖清单
pip freeze > requirements.txt
# 在新机器上一键还原
pip install -r requirements.txt
建议养成一个习惯:每次新增依赖就同步更新 requirements.txt,并把它提交到版本库。这样任何人拿到项目,只需创建虚拟环境、执行一条命令,就能还原出一致的开发环境。
四、几个实用小技巧
- 镜像加速:国内直连 PyPI 官方源较慢,可以临时加上
-i https://pypi.tuna.tsinghua.edu.cn/simple,也可以写入 pip.conf 长期生效。 - 虚拟环境目录不要提交:把
.venv/加入.gitignore,只提交 requirements.txt。 - 统一 Python 版本:团队内约定创建虚拟环境所用的解释器版本,避免“在我机器上能跑”的尴尬。
- 进阶工具:项目规模变大后,可以尝试 Poetry、uv 等工具,它们把环境管理与依赖锁文件结合得更紧密。
小结
虚拟环境解决的是“隔离”问题,requirements.txt 解决的是“复现”问题。掌握这两样,你的 Python 项目就具备了可移植、可协作的基础。从今天开始,为每一个新项目创建一个独立的虚拟环境吧!
【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,
举报邮箱:cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)