当前位置: 代码网 > it编程>前端脚本>Python > Python官方venv虚拟环境的完整实操教程

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

2026年07月21日 Python 我要评论
一、什么是venv虚拟环境python 3.3+ 内置venv模块,无需额外安装,是官方推荐轻量级虚拟环境工具。核心作用依赖隔离:不同项目可使用不同版本python、第三方库,彻底解决包版本冲突;不污

一、什么是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虚拟环境实操的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com