当前位置: 首页 > news >正文

Python-Venv多环境管理

Python-Venv多环境管理

Python使用venv进行环境管理,系统了解venv的使用


文章目录

  • Python-Venv多环境管理
    • @[toc]
    • 1-学习要点
    • 2-核心知识点
    • 3-venv环境管理
      • 1-空工程初始化环境
      • 2-激活环境
      • 3-添加依赖
    • 4-venv脚本解析
    • 一、命令分解
      • 1. python
      • 2. -m
      • 3. venv
      • 4. .venv
    • 二、命令整体含义
    • 三、虚拟环境的作用
      • 1. 隔离依赖
      • 2. 环境一致性
      • 3. 避免权限问题
    • 四、使用步骤
      • 1. 创建虚拟环境
      • 2. 激活虚拟环境
      • 3. 安装包
      • 4. 退出虚拟环境
    • 五、注意事项
      • 1. Python 版本
      • 2. 目录结构
      • 3. 版本控制
      • 4. 与 `virtualenv` 的区别
    • 六、总结

1-学习要点

  • 1-熟悉【venv环境管理】
  • 2-熟悉【venv运行后内部文件结构】
  • 3-熟悉【IDE指定运行环境】

2-核心知识点

  • 1-venv环境管理脚本->【python -m venv .venv】+【.venv/bin/activate】

  • 2-venv版本要求->【要求python 是 Python 3.3+ 版本】

  • 3-venv是什么->【venv 是 Python 的标准库模块,专注于环境管理】

  • 4-venv内部文件结构->【bin】+【lib】+【include】

    • bin/(Linux/macOS)或 Scripts/(Windows):存放激活脚本和 pippython 等工具。
    • lib/:存放已安装的包。
    • include/:存放 C/C++ 头文件(如需要编译安装时)
  • 5-venv替代工具->【virtualenv

    • venv 是 Python 标准库模块,无需额外安装。
    • virtualenv 是第三方工具,功能更强大(支持跨 Python 版本创建环境),需通过 pip install virtualenv 安装
  • 6-Pycharm如何指定环境->【PyCharm设置】

  • 7-VSCode如何指定环境->【借助python-environment-manager插件】


3-venv环境管理

1-空工程初始化环境

mkdir my_project
cd my_project
python -m venv .venv

2-激活环境

# Windows
source .venv/Scripts/activate# Mac
source .venv/bin/activate

3-添加依赖

对应的依赖是在激活的环境中

# 安装当前环境要使用的内容
pip install uv httpx mcp

4-venv脚本解析

Python 虚拟环境的创建与使用:python -m venv .venv

在 Python 开发中,虚拟环境是一个非常重要的工具。它可以帮助我们为每个项目创建一个独立的 Python
环境,避免不同项目之间的依赖冲突。今天,我们就来详细了解一下如何使用 python -m venv .venv 命令来创建和管理 Python 虚拟环境。

一、命令分解

python -m venv .venv 是一个用于创建 Python 虚拟环境的命令,下面我们将详细分解它的各个部分。

1. python

这是指令的起点,表示调用 Python 解释器。它会启动 Python 的运行环境,以便执行后续的命令。

2. -m

这是 Python 的一个选项,表示以 模块(module) 的形式运行。它的作用是告诉 Python 不要运行脚本,而是直接执行某个 Python
标准库模块。

3. venv

venv 是 Python 的标准库模块,专门用于创建和管理虚拟环境。自 Python 3.3 起,venv 模块成为内置功能,无需额外安装。

4. .venv

这是你为虚拟环境指定的目录名称。你可以选择任意名称(如 envmyenv 等),这里以 .venv 为例。目录名前的 . 在类 Unix 系统(如
macOS/Linux)中表示隐藏文件/目录,Windows 对该符号无特殊处理。

二、命令整体含义

该指令的 完整含义 是:

使用 Python 的 venv 模块,在当前目录下创建一个名为 .venv 的虚拟环境。

三、虚拟环境的作用

1. 隔离依赖

每个项目可以拥有独立的 Python 解释器和包集合,避免与其他项目或全局环境的依赖冲突。例如,项目 A 可能需要使用 Django 3.x,而项目
B 需要使用 Django 4.x,通过虚拟环境可以轻松实现这种隔离。

2. 环境一致性

可以精确控制项目的运行环境(如要求特定版本的 pandasDjango),确保在不同机器上的一致性。这对于团队协作和项目部署非常有帮助。

3. 避免权限问题

不需要以管理员权限安装包,所有操作在虚拟环境中完成。这使得开发过程更加安全和便捷。

四、使用步骤

1. 创建虚拟环境

在终端或命令行中运行以下命令:

python -m venv .venv

这将在当前目录下创建一个名为 .venv 的虚拟环境。

2. 激活虚拟环境

创建虚拟环境后,需要激活它才能使用。激活命令如下:

  • Windows
    .venv\Scripts\activate
    
  • macOS/Linux
    source .venv/bin/activate
    

激活后,终端提示符会显示虚拟环境的名称,表示当前处于虚拟环境中。

3. 安装包

在激活虚拟环境后,可以使用 pip 安装所需的包。例如:

pip install requests numpy

这些包将被安装到虚拟环境中,不会影响全局环境。

4. 退出虚拟环境

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

deactivate

退出后,终端提示符将恢复正常,表示已经离开虚拟环境。

五、注意事项

1. Python 版本

确保使用的 python 是 Python 3.3+ 版本。旧版本的 Python 不支持 venv 模块,需要使用 virtualenv 第三方工具。

2. 目录结构

执行命令后,.venv 目录会包含以下内容:

  • bin/(Linux/macOS)或 Scripts/(Windows):存放激活脚本和 pippython 等工具。
  • lib/:存放已安装的包。
  • include/:存放 C/C++ 头文件(如需要编译安装时)。

3. 版本控制

建议将 .venv 添加到 .gitignore 中,因为虚拟环境不需要纳入版本控制。

4. 与 virtualenv 的区别

  • venv 是 Python 标准库模块,无需额外安装。
  • virtualenv 是第三方工具,功能更强大(支持跨 Python 版本创建环境),需通过 pip install virtualenv 安装。

六、总结

python -m venv .venv 命令通过 Python 自带的 venv
模块,快速创建一个与全局环境隔离的虚拟环境,确保项目的依赖管理整洁高效。使用虚拟环境可以有效解决依赖冲突问题,提高开发效率和项目可维护性。希望这篇文章能帮助你更好地理解和使用
Python 虚拟环境。


相关文章:

  • 拓扑学在天体物理学的应用:python 示例
  • 模块自动导入的小工具
  • c++类【终章】
  • 2023 河南ccpc
  • Python学习之路(玖)-图像识别的实现
  • TypeScript 类型保护详解
  • Beta分布--贝叶斯建模概率或比例常用分布
  • 游戏逆向开发全阶段电子资料分享 – 从入门到精通实战教程
  • C语言和Python在负数取余运算(%)上的差异
  • AUTOSAR图解==>AUTOSAR_TR_InteractionWithBehavioralModels
  • C++基本知识 —— 缺省参数·函数重载·引用
  • 2025年PMP 学习八 -第6章 项目进度管理
  • 方案精读:华为与中软-智慧园区解决方案技术主打胶片【附全文阅读】
  • 张量并行优质博客
  • AQS(AbstractQueuedSynchronizer)解析
  • Python模块与包以及工程文件管理
  • arctan x 导数推理
  • Spring Cloud : OpenFeign(远程调用)
  • LoRA(Low-Rank Adaptation)原理详解
  • 微服务架构-限流、熔断:Alibaba Sentinel入门
  • 区域国别学视域下的东亚文化交涉
  • 民企老板被错羁212天续:申请国赔千万余元,要求恢复名誉赔礼道歉
  • 特朗普将启的中东行会如何影响伊美核谈判?专家分析
  • 阶跃星辰CEO姜大昕:追求智能上限仍是最重要的事,多模态的“GPT-4时刻”尚未到来
  • 婚姻登记“全国通办”首日,上海虹口登记中心迎来“甜蜜高峰”
  • 从上海首个到成片复制,闵行零工市场如何优化劳动就业服务?