一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2026-07-22 09:10:57 编辑:袖梨 来源:一聚教程网

一、什么是venv虚拟环境

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

核心作用

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

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

主流虚拟环境工具对比

工具类型优势适用场景
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终端
envScriptsactivate.bat
或者
envScriptsactivate
  1. PowerShell终端
.envScriptsActivate.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_envScriptsactivate.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
激活环境envScriptsactivate.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直接复制已有的venv虚拟环境以创建新的虚拟环境过程
  • Python虚拟环境venv、uv、conda详细对比
  • Python虚拟环境venv使用说明详解
  • Python 虚拟环境完全指南:venv、virtualenv 与 Conda详解
  • Python虚拟环境(venv)的全面使用指南

热门栏目