写点什么

如何使用 Python 内置虚拟环境工具 venv 创建和管理虚拟环境

作者:克莱因瓶
  • 2025-01-25
    山东
  • 本文字数:1729 字

    阅读完需:约 6 分钟

在 Python 开发中,不同项目可能需要不同的依赖库或 Python 版本。如果在同一个全局环境中安装所有依赖,很容易导致依赖冲突或版本混乱。venv 是 Python 内置的虚拟环境工具,用于为每个项目创建独立的环境,从而避免这些问题。本文将详细介绍如何使用 venv 创建、激活、管理和删除虚拟环境。


一、什么是 venv?

venv 是 Python 提供的虚拟环境管理工具。从 Python 3.3 开始,venv 就成为标准库的一部分,可以通过简单的命令创建独立的 Python 环境。

虚拟环境的主要作用是:

  • 为每个项目隔离依赖。

  • 在同一台机器上使用多个 Python 版本。

  • 避免全局环境的依赖冲突。


二、venv 的安装与准备

1. 确保已安装 Python 3

venv 是 Python 的内置工具,确保 Python 版本为 3.3 或更高:

python --version
复制代码

或:

python3 --version
复制代码

2. 检查是否支持 venv

通过以下命令检查 venv 是否可用:

python -m venv --help
复制代码

如果出现帮助信息,则说明 venv 可以正常使用。



三、使用 venv 创建虚拟环境

1. 创建虚拟环境

运行以下命令创建虚拟环境:


python -m venv myenv
复制代码


  • myenv 是虚拟环境的名称,可以根据需要更改。

  • 执行成功后,会在当前目录下生成一个名为 myenv 的文件夹。

2. 指定 Python 版本

如果系统中安装了多个版本的 Python,可以通过指定 Python 解释器来创建环境:


python3.9 -m venv myenv
复制代码



四、激活和使用虚拟环境

1. 激活虚拟环境

激活虚拟环境后,终端会显示虚拟环境的名称,提示您当前正在使用该环境。


  • Windows


myenv\Scripts\activate
复制代码


  • macOS/Linux


source myenv/bin/activate
复制代码


激活成功后,命令提示符或终端前会显示虚拟环境的名称,例如:

(myenv) $
复制代码

2. 在虚拟环境中安装依赖

激活虚拟环境后,您可以像在全局环境中一样使用 pip 安装依赖:

pip install requests
复制代码


安装的库只会存在于当前虚拟环境中,而不会影响全局环境。

3. 查看虚拟环境中的依赖

pip list
复制代码



五、退出和删除虚拟环境

1. 退出虚拟环境

完成工作后,可以通过以下命令退出虚拟环境:


deactivate
复制代码


退出后,命令提示符或终端前的虚拟环境名称会消失。

2. 删除虚拟环境

要删除虚拟环境,只需删除对应的文件夹:

rm -rf myenv
复制代码

这样就完全移除了虚拟环境及其依赖。


六、venv 的常见操作

1. 查看虚拟环境的 Python 版本

激活环境后,运行以下命令查看当前虚拟环境使用的 Python 版本:

python --version
复制代码

2. 升级 pip

在新创建的虚拟环境中,建议将 pip 升级到最新版本:

pip install --upgrade pip
复制代码

3. 使用 requirements.txt 管理依赖

生成依赖文件

将当前环境中的依赖保存到 requirements.txt 文件:

pip freeze > requirements.txt
复制代码

安装依赖

根据 requirements.txt 文件安装依赖:


pip install -r requirements.txt
复制代码

4. 在 VS Code 中使用 venv

如果使用 VS Code 开发,以下是与 venv 配合的简单设置:

  1. 激活虚拟环境。

  2. 打开 VS Code,按 Ctrl+Shift+P 调出命令面板。

  3. 搜索并选择 Python: Select Interpreter

  4. 选择对应虚拟环境的解释器路径。


七、venv 的优势与局限性

优势

  1. 内置工具:不需要额外安装。

  2. 轻量级:只创建必需的环境文件,不依赖外部工具。

  3. 灵活性:与 Python 跨平台兼容,支持不同版本的 Python。

局限性

  1. 功能较为基础:不如 condapoetry 那样支持多语言或复杂依赖解析。

  2. 管理不便:当多个项目需要统一依赖时,手动管理可能较为麻烦。


八、常见问题与解决方案

1. 创建虚拟环境失败

错误提示:

ModuleNotFoundError: No module named 'venv'
复制代码


解决方法:确保 Python 安装时选择了 venv 模块。如果未安装,重新安装 Python 并勾选 “Install for all users”“Add Python to PATH”

2. 激活虚拟环境无效(Windows)

在某些情况下,Windows 可能阻止脚本运行。

解决方法:启用脚本运行权限:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
复制代码

3. 终端没有显示虚拟环境名称

解决方法:激活虚拟环境后,确保当前路径正确。如果仍未显示,使用以下命令查看当前 Python 路径:

which python
复制代码



九、总结

venv 是一个简单而强大的虚拟环境工具,适合大多数 Python 项目。通过本文的详细指南,可以轻松使用 venv 为每个项目创建独立的开发环境,避免依赖冲突并提升开发效率。无论是小型脚本开发还是大型项目,venv 都是一个不可或缺的工具。赶快试试吧,为您的项目构建一个干净、稳定的环境!如果有任何问题,欢迎留言交流!

发布于: 刚刚阅读数: 4
用户头像

克莱因瓶

关注

既往不恋,当下不杂,未来不迎 2020-06-30 加入

热爱编程 码农的第{正正正正正一}个年头 天津大学MBA 系统分析师 《VisualC++编程实战宝典》作者

评论

发布
暂无评论
如何使用 Python 内置虚拟环境工具 venv 创建和管理虚拟环境_克莱因瓶_InfoQ写作社区