Python 虚拟环境 venv:从零开始的隔离开发环境

举报
yd_225636183 发表于 2026/10/22 08:05:47 2026/10/22
【摘要】 介绍 Python 自带的 venv 模块:三步创建并激活虚拟环境、pip 换源加速、用 requirements.txt 复制环境,以及新手常见误区。

为什么需要虚拟环境

刚学 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

几秒钟就能复刻出完全一致的开发环境。这也是团队协作和云端部署(比如把应用搬上云服务器)的标准做法。

几个常见误区

  1. 激活不是"安装":source activate 只是切换了当前 shell 的环境变量,新开一个终端需要重新激活。
  2. 用哪个 python 很重要:激活后直接用 python/pip 就好,不要再加 sudo,也不要用系统自带的 /usr/bin/python3 去装包——那会污染系统环境。
  3. 退出很简单:输入 deactivate 即可回到全局环境。

小结

python3 -m venv .venv → 激活 → 换源 → pip freeze > requirements.txt,这四步就是 Python 项目依赖管理的最小闭环。养成"一个项目一个虚拟环境"的习惯,未来无论是本地开发、多人协作,还是把项目部署到云端容器里,你都会少踩很多坑。明天不妨亲手建一个试试,整个过程不到一分钟。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。