Python 虚拟环境 venv 创建保姆级教程

725 字
4 分钟
Python 虚拟环境 venv 创建保姆级教程

既然我们要开始聊 Python 开发,有一个痛点我们肯定都会遇到:系统里通常只装了一个 Python 3 版本,所有的第三方包都会被 pip 塞进同一个 site-packages 目录下。

想象一下,如果我们同时开发两个项目,应用 A 必须用 Jinja 2.7,而应用 B 却依赖老旧的 Jinja 2.6,这时候系统里的 Python 就会左右为难。为了解决这种版本打架的问题,我们必须为每个应用创建一套“隔离”的 Python 运行环境。

今天我们就以创建一个 newproject 为例,看看我们如何利用内置的 venv 模块来打造这个独立的小世界。


1. 建立项目阵地#

首先,我们先创建一个存放代码的文件夹。打开终端或命令行,执行以下操作:

mkdir newproject
cd newproject

2. 搭建隔离环境#

newproject 目录下,我们直接调用 Python 的 venv 模块来初始化环境。我们习惯把这个环境起名叫 .venv,这样它在项目里就是一个隐藏文件夹。

# 执行这条命令后,Python 会把一套完整的运行环境拷贝到 .venv 文件夹里
python -m venv .venv

3. “进入”我们的虚拟环境#

环境建好了,但我们还没进去。我们需要通过“激活(activate)”脚本,让当前的终端识别这个隔离环境。

  • 如果我们在 Windows 平台上:

    • CMD: .venv\Scripts\activate

    • PowerShell: .\.venv\Scripts\Activate.ps1

  • 如果我们在 macOS 或 Linux 上:

    source .venv/bin/activate

重点观察: 激活成功后,我们的命令行提示符前会多出一个 (.venv) 字样。这意味着从现在起,我们所有的 pip install 操作都只会影响这个 newproject,而不会动系统全局的 Python。


4. 管理依赖包#

现在我们可以根据需求,在隔离环境里安装不同版本的包了:

  • 定向安装: pip install jinja2==2.7

  • 导出清单: 当我们把环境配好后,记得运行 pip freeze > requirements.txt。这份清单就是我们项目的“配方”,别人拿到代码后,只需 pip install -r requirements.txt 就能完美复刻我们的环境。


5. 退出与销毁#

当我们忙完 newproject 的活儿,想切换回系统环境或者去干别的,流程也非常简单。

退出环境#

直接在终端输入:

deactivate

你会发现前面的 (.venv) 消失了,一切恢复如初。

彻底删除#

如果我们觉得这个项目不需要了,或者想推倒重来,直接删除文件夹即可venv 没有任何系统残留,它就是一个纯粹的文件夹。

  • 手动: 在文件管理器里右键删除 .venv 文件夹。

  • 命令行:

    • Windows: rd /s /q .venv

    • macOS/Linux: rm -rf .venv

小结#

venv为应用提供了隔离的Python运行环境,解决了不同应用间安装多版本的冲突问题。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Python 虚拟环境 venv 创建保姆级教程
https://blog.moewah.com/posts/python-venv-virtual-environment-tutorial/
作者
MoeWah
发布于
2025-12-07
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Docker入门简明教程:一篇文章快速上手
虚拟化与运维 如何解决软件开发中的环境配置难题?本文详解Docker的原理与优势,提供从虚拟机到容器技术的对比分析及实战应用指南,帮助开发者高效部署和管理应用。
2
2026 年度 Mac 装机必备清单:个人高频使用的 macOS 应用推荐
光影与生活 2026 年 Mac 装机必备清单:我个人高频使用的 macOS 应用推荐,覆盖开发、写作、AI、效率、媒体等场景,偏重开源、轻量和本地优先。
3
Money Hat SEO:以收益为导向,哪些 SEO 术语值得研究?
增长与SEO 从搜索意图、主题权威到转化率优化,Money Hat SEO 的核心是以收益为导向。本文区分了值得研究的 SEO 术语和浪费时间的概念,帮助内容运营者和站长聚焦能直接带来收入的关键动作。
4
GhostVM:给 AI Agent 一个完整的 Mac,而不是容器!
虚拟化与运维 介绍 GhostVM——基于 Apple Virtualization.framework 的 macOS 虚拟机工具。支持近原生性能、自包含 bundle、秒级克隆,提供完整的 CLI (vmctl) 覆盖 GUI 功能,适合 AI agent 隔离环境和多项目开发者。
5
GEO 和 SEO 有什么区别?为什么说你不必二选一
增长与SEO SEO 已死?GEO 取代 SEO 了吗?这些或许是个伪命题。真正的问题是:当用户在被发现、比较、评估都在抵达网站前完成,营销该如何重构?从可见性到可读性、从说服到审视、从声称到证实,三个转变帮你落地。
随机文章 随机推荐

评论区

Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
专题文章
分类
站点统计
文章
200
分类
9
标签
434
总字数
398,685
运行时长
0
最后活动
0 天前

目录