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/
作者
GoWah
发布于
2025-12-07
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
GoWah
Hello, I'm GoWah.
分类
标签
站点统计
文章
160
分类
9
标签
350
总字数
301,106
运行时长
0
最后活动
0 天前

目录