Python官方venv虚拟环境的完整实操教程

 更新时间:2026年07月21日 09:07:57   作者:moment&forever  
还在为Python项目包冲突头疼,本文手把手教你使用官方内置的venv虚拟环境,实现依赖隔离、一键导出环境配置,从此告别全局污染,覆盖创建、激活、退出、删除全流程,并附上LangChain项目实操示例,是新手必读的虚拟环境管理指南,需要的朋友可以参考下

一、什么是venv虚拟环境

Python 3.3+ 内置venv模块,无需额外安装,是官方推荐轻量级虚拟环境工具。

核心作用

  1. 依赖隔离:不同项目可使用不同版本Python、第三方库,彻底解决包版本冲突;
  2. 不污染全局Python:所有安装的包仅存于当前环境,不会影响系统全局;
  3. 环境可复现:通过requirements.txt记录依赖,一键部署、团队协作;
  4. 安全测试:随便安装、升级、卸载测试包,不破坏其他项目环境。

主流虚拟环境工具对比

工具类型优势适用场景
venvPython内置零安装、轻量、官方标准普通Python项目、日常开发
virtualenv第三方兼容Python2、功能拓展老旧Python版本项目
condaAnaconda配套支持Python/C++库、多语言数据分析、AI深度学习

二、虚拟环境目录结构

执行创建命令后,项目目录生成独立文件夹,所有解释器、pip、依赖全部封闭在此目录内:

env/
├── Scripts/        # Windows系统
│   ├── activate.bat  # CMD激活脚本
│   ├── Activate.ps1  # PowerShell激活脚本
│   ├── python.exe    # 环境独立解释器
│   └── pip.exe       # 环境独立包管理器
├── bin/            # macOS / Linux系统
│   ├── activate
│   ├── python
│   └── pip
└── Lib/site-packages/ # 存放所有安装的第三方库

关键:整个文件夹就是完整虚拟环境,删除文件夹=彻底删除环境。

三、完整操作流程(跨平台)

1. 前置:查看本地Python版本

# Windows
python --version
py --version
# 如果存在多个python版本
py -0p # 输出所有的python版本以及对应路径
# macOS/Linux
python3 --version

2. 创建虚拟环境

基础创建(推荐命名env/.venv)

# Windows CMD/PowerShell
python -m venv env

# macOS/Linux
python3 -m venv env
  • env:虚拟环境文件夹名,行业常用.venvvenvtest_env
  • 多Python版本共存时,指定解释器创建:
# 使用指定的python版本创建虚拟环境
py -3.11 -m venv env

高级创建参数

# 1. 不带pip(纯干净环境)
python -m venv --without-pip env

# 2. 继承系统全局已安装包(极少用)
python -m venv --system-site-packages env

3. 激活虚拟环境

激活成功标志:终端前缀出现(环境名),此时python/pip全部指向虚拟环境。

Windows

  1. CMD终端
env\Scripts\activate.bat
或者
env\Scripts\activate
  1. PowerShell终端
.\env\Scripts\Activate.ps1

PowerShell报错执行策略解决方案(临时放行):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

macOS / Linux

source env/bin/activate

验证是否进入虚拟环境

# Windows
where python

# macOS/Linux
which python

输出路径包含env文件夹,代表当前使用环境内Python。

4. 依赖管理(项目核心)

安装第三方包

# 单包安装
pip install requests

# 指定版本安装
pip install requests==2.34.2

# 国内清华镜像加速(解决下载慢)
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

导出依赖清单 requirements.txt

多人协作、服务器部署必备,记录当前环境所有包与精确版本:

# 正确导出命令(必须加 > 重定向符号)
pip freeze > requirements.txt

生成文件示例:

certifi==2026.6.17
charset-normalizer==3.4.9
idna==3.18
requests==2.34.2
urllib3==2.7.0

新环境一键还原依赖

拿到项目后,无需手动逐个安装包:

pip install -r requirements.txt

查看已安装包

# 列出全部包
pip list

# 查看单个包详情
pip show requests

# 只看手动安装的顶层包(排除底层依赖)
pip list --not-required

5. 退出虚拟环境

全平台统一命令,无需区分系统:

deactivate

执行后前缀(env)消失,切回系统全局Python。

6. 删除虚拟环境(重点答疑)

核心结论

venv创建的环境可以直接删除整个文件夹(丢回收站/命令删除均可),无系统残留,包全部存于文件夹内,不会污染全局Python。

操作步骤

  1. 先退出环境(必须执行,否则文件占用无法删除)
deactivate
  1. 删除文件夹
  • Windows可视化:资源管理器找到env文件夹,右键删除/移入回收站;
  • Windows命令行强制删除
rmdir /s /q env
  • macOS/Linux命令删除
rm -rf env

重要区分(避坑)

  • ✅ venv / virtualenv:直接删文件夹完全清理;
  • ❌ conda创建的环境:不能手动删文件夹,会残留环境列表,必须用命令conda remove -n 环境名 --all

四、完整项目实操示例(LangChain项目模板)

# 1. 进入项目文件夹
cd F:\langchain学习

# 2. 创建虚拟环境
python -m venv test_env

# 3. 激活环境(CMD)
test_env\Scripts\activate.bat

# 4. 安装依赖
pip install requests langchain langchain-openai -i https://pypi.tuna.tsinghua.edu.cn/simple

# 5. 导出依赖清单
pip freeze > requirements.txt

# 6. 开发完成退出环境
deactivate

# 7. 废弃项目删除环境
rmdir /s /q test_env

五、最佳开发规范

  1. 一个项目一个独立环境,不共用虚拟环境;
  2. 统一命名.venv,VS Code/PyCharm会自动识别;
  3. 版本控制忽略虚拟环境,.gitignore添加配置:
# 虚拟环境目录
env/
.venv/
venv/
# 缓存文件
__pycache__/
*.pyc
# 环境变量文件
.env
  1. 每次新增包后执行pip freeze > requirements.txt同步依赖;
  2. 不随意移动虚拟环境文件夹,内部为硬编码绝对路径,移动后失效;如需迁移,重新创建环境+requirements.txt还原。

六、常见问题FAQ

  1. 删除环境后全局Python会丢包吗?
    不会。虚拟环境与全局完全隔离,仅删除文件夹内的依赖,全局不受任何影响。
  2. 激活报错找不到activate脚本?
    核对文件夹名称:Windows是Scripts,mac/Linux是bin,路径大小写不要写错。
  3. pip freeze命令不生成文件?
    缺少重定向符号>,错误命令pip freeze requirements.txt仅打印列表,正确写法pip freeze > requirements.txt
  4. 虚拟环境占用空间太大怎么办?
    无用环境直接删除文件夹,空环境约30MB,深度学习项目可达数GB,定期清理废弃环境。

七、命令速查表

操作Windows CMDmacOS/Linux
创建环境python -m venv envpython3 -m venv env
激活环境env\Scripts\activate.batsource env/bin/activate
导出依赖pip freeze > requirements.txtpip freeze > requirements.txt
批量安装依赖pip install -r requirements.txtpip install -r requirements.txt
退出环境deactivatedeactivate
删除环境rmdir /s /q envrm -rf env

以上就是Python官方venv虚拟环境的完整实操教程的详细内容,更多关于Python官方venv虚拟环境实操的资料请关注脚本之家其它相关文章!

相关文章

  • Python实现量化模拟交易部署与风险管理控制详解

    Python实现量化模拟交易部署与风险管理控制详解

    这篇文章主要介绍了Python实现量化模拟交易部署与风险管理控制,在量化交易落地前,模拟交易是策略验证的安全沙箱,其核心价值在于用零成本环境暴露策略缺陷,以股票市场为例,同花顺与通达信模拟盘接口覆盖全品种行情与交易功能,但接口特性存在显著差异,需要的朋友可以参考下
    2026-02-02
  • Python把excel文件数据转化为字典格式存储详解

    Python把excel文件数据转化为字典格式存储详解

    这篇文章主要介绍了Python把excel文件数据转化为字典格式存储详解,在Python中有时候需要操作excel表格的数据,把excel表格转化为字典存起来,方便读取,今天我们就来看看如何转换,需要的朋友可以参考下
    2023-08-08
  • Canny边缘检测算法原理及OpenCV实现详解

    Canny边缘检测算法原理及OpenCV实现详解

    本文深入解析Canny边缘检测算法及其OpenCV实现,涵盖核心概念、技术原理和实践应用,文章首先介绍Canny算法的重要性及其在计算机视觉中的关键作用
    2026-05-05
  • Python升级提示Tkinter模块找不到的解决方法

    Python升级提示Tkinter模块找不到的解决方法

    这篇文章主要介绍了Python升级提示Tkinter模块找不到的解决方法,Tkinter的是Tk的GUI工具包,用来开发GUI界面,需要的朋友可以参考下
    2014-08-08
  • 使用keras时input_shape的维度表示问题说明

    使用keras时input_shape的维度表示问题说明

    这篇文章主要介绍了使用keras时input_shape的维度表示问题说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python property装饰器使用案例介绍

    Python property装饰器使用案例介绍

    这篇文章主要介绍了Python @property装饰器的用法,在Python中,可以通过@property装饰器将一个方法转换为属性,从而实现用于计算的属性,下面文章围绕主题展开更多相关详情,感兴趣的小伙伴可以参考一下
    2022-10-10
  • 用Python进行行为驱动开发的入门教程

    用Python进行行为驱动开发的入门教程

    这篇文章主要介绍了用Python进行行为驱动开发的入门教程,本文也对BDD的概念做了详细的解释,需要的朋友可以参考下
    2015-04-04
  • Python高并发和多线程有什么关系

    Python高并发和多线程有什么关系

    这篇文章主要介绍了Python高并发和多线程有什么关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python如何下载指定版本TensorFlow

    python如何下载指定版本TensorFlow

    这篇文章主要介绍了python如何下载指定版本TensorFlow问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Python中创建对象列表的实现示例

    Python中创建对象列表的实现示例

    本文主要介绍了Python中创建对象列表的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论