Python 虚拟环境 venv:从零开始的隔离开发环境
为什么需要虚拟环境
刚学 Python 的新手常遇到一个困扰:给项目 A 装了 requests==2.28,项目 B 却要求 requests>=2.32;升级了某个库,另一个项目就跑不起来。根本原因是:所有包都装进了同一个全局环境,项目之间互相"打架"。
虚拟环境(virtual environment)就是为每个项目开一个独立小房间:每个房间有自己的 Python 解释器和第三方包,互不干扰。Python 3.3 起自带的 venv 模块是官方推荐的轻量方案,不需要额外安装任何工具。
三步创建一个虚拟环境
假设你的项目目录叫 myproject:
cd myproject
# 1. 创建虚拟环境(命名为 .venv 是社区惯例)
python3 -m venv .venv
# 2. 激活它
# Linux / macOS:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate
# 3. 验证
python -V # 指向虚拟环境里的 Python
pip list # 只有 pip、setuptools 等基础包
激活成功后,命令行提示符前面会多出 (.venv) 前缀——这就是"你在房间里了"的标志。此时用 pip install 装的任何包都只进这个房间。
pip 换源:国内用户的必备一步
默认的 PyPI 官方源在国外,下载慢、易超时。给虚拟环境配置国内镜像能省下大量等待时间,一次配置长期生效:
pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
华为云、阿里云、清华等镜像站都可选用。配置后用 pip config list 确认,之后 pip install 会明显变快。
requirements.txt:让环境可复制
虚拟环境目录 .venv 本身体积不小(几百 MB),而且和操作系统强绑定——不要把它放进 Git。正确的做法是导出依赖清单:
pip freeze > requirements.txt
换一台机器时,只需创建新虚拟环境再执行:
pip install -r requirements.txt
几秒钟就能复刻出完全一致的开发环境。这也是团队协作和云端部署(比如把应用搬上云服务器)的标准做法。
几个常见误区
- 激活不是"安装":
source activate只是切换了当前 shell 的环境变量,新开一个终端需要重新激活。 - 用哪个 python 很重要:激活后直接用
python/pip就好,不要再加sudo,也不要用系统自带的/usr/bin/python3去装包——那会污染系统环境。 - 退出很简单:输入
deactivate即可回到全局环境。
小结
python3 -m venv .venv → 激活 → 换源 → pip freeze > requirements.txt,这四步就是 Python 项目依赖管理的最小闭环。养成"一个项目一个虚拟环境"的习惯,未来无论是本地开发、多人协作,还是把项目部署到云端容器里,你都会少踩很多坑。明天不妨亲手建一个试试,整个过程不到一分钟。
- 点赞
- 收藏
- 关注作者
评论(0)