Python
基础语法
01概念
02安装
03变量
04字符串
05数
06常量与注释
07列表
08元组
09if语句
10字典
11集合
12复合数据类型对比
13推导式
14用户输入
15while循环
16函数
17类
18面向对象编程
19文件操作
20异常处理
21日期和时间
22魔术方法
23内置函数
24线程
25并发&并行
26正则表达式
27迭代器
28装饰器
29生成器
30上下文管理器
31函数式编程
32闭包
33解包
34工具库
35连接关系型数据库
36虚拟环境
37异步编程
网络爬虫
01urllib库[了解]
02requests库
03数据交换格式
04解析库
05lxml
06Beautiful Soup
07Xpath语法
08动态网页的处理
-
+
首页
36虚拟环境
Python 虚拟环境是一套**独立隔离的 Python 运行环境管理机制**,核心作用是为不同项目构建专属的 “依赖容器”,避免项目间的库版本冲突、Python 版本冲突,同时保持全局环境的整洁。 对于任何规模的 Python 开发,虚拟环境都是不可或缺的基础工具。 ## 概述 虚拟环境并非 “模拟的环境”,而是通过**环境变量重定向**和**目录隔离**实现的 “真实独立环境”: - 当创建虚拟环境时,会生成一个独立目录(通常叫 venv 或自定义名称),里面包含完整的 Python 解释器(python.exe/python3)、包管理器(pip),以及专门存放第三方库的 site-packages 文件夹。 - 激活虚拟环境后,系统会临时修改 PATH 环境变量,让 python、pip 等命令优先指向这个独立目录里的工具,确保操作只对当前环境生效。 - 退出环境后,PATH 恢复原状,回到全局环境或其他环境。 ## 主流虚拟环境工具 Python 生态有多种虚拟环境工具,各有侧重,选择时可根据项目需求匹配: | 工具 | 特点与适用场景 | 推荐指数 | | -------------- | ------------------------------------------------------------ | -------- | | **venv** | Python 3.3+ 内置(无需额外安装),轻量简单,功能基础。适合新手、简单项目、快速创建环境。 | ★★★★★ | | **virtualenv** | 第三方工具,支持 Python 2.x 和 3.x,可指定任意 Python 版本。适合需要兼容老项目(如 Python 2)的场景。 | ★★★★ | | **conda** | 跨语言环境管理工具(支持 Python/R 等),能处理非 Python 依赖(如数据科学中的 C 库)。适合数据分析、机器学习项目。 | ★★★★ | | **poetry** | 集虚拟环境、依赖管理、打包发布于一体,自动生成标准化配置文件。适合需要发布的开源项目、团队协作项目。 | ★★★★ | | **pipenv** | 整合虚拟环境与依赖管理,替代 requirements.txt 为 Pipfile。适合追求现代依赖管理方式的项目。 | ★★★ | ## venv **创建虚拟环境** ```cmd python -m venv venv ``` 创建一个名为 venv 的虚拟环境。 使用tree命令查看当前路径: ```txt └─venv ├─Include ├─Lib │ └─site-packages │ ├─pip │ │ ├─_internal │ │ │ ├─cli │ │ │ │ └─__pycache__ │ │ │ ├─commands │ │ │ │ └─__pycache__ │ │ │ ├─distributions │ │ │ │ └─__pycache__ │ │ │ ├─index │ │ │ │ └─__pycache__ │ │ │ ├─locations │ │ │ │ └─__pycache__ │ │ │ ├─metadata │ │ │ │ ├─importlib │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─models │ │ │ │ └─__pycache__ │ │ │ ├─network │ │ │ │ └─__pycache__ │ │ │ ├─operations │ │ │ │ ├─build │ │ │ │ │ └─__pycache__ │ │ │ │ ├─install │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─req │ │ │ │ └─__pycache__ │ │ │ ├─resolution │ │ │ │ ├─legacy │ │ │ │ │ └─__pycache__ │ │ │ │ ├─resolvelib │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─utils │ │ │ │ └─__pycache__ │ │ │ ├─vcs │ │ │ │ └─__pycache__ │ │ │ └─__pycache__ │ │ ├─_vendor │ │ │ ├─cachecontrol │ │ │ │ ├─caches │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─certifi │ │ │ │ └─__pycache__ │ │ │ ├─dependency_groups │ │ │ │ └─__pycache__ │ │ │ ├─distlib │ │ │ │ └─__pycache__ │ │ │ ├─distro │ │ │ │ └─__pycache__ │ │ │ ├─idna │ │ │ │ └─__pycache__ │ │ │ ├─msgpack │ │ │ │ └─__pycache__ │ │ │ ├─packaging │ │ │ │ ├─licenses │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─pkg_resources │ │ │ │ └─__pycache__ │ │ │ ├─platformdirs │ │ │ │ └─__pycache__ │ │ │ ├─pygments │ │ │ │ ├─filters │ │ │ │ │ └─__pycache__ │ │ │ │ ├─formatters │ │ │ │ │ └─__pycache__ │ │ │ │ ├─lexers │ │ │ │ │ └─__pycache__ │ │ │ │ ├─styles │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─pyproject_hooks │ │ │ │ ├─_in_process │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─requests │ │ │ │ └─__pycache__ │ │ │ ├─resolvelib │ │ │ │ ├─resolvers │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ ├─rich │ │ │ │ └─__pycache__ │ │ │ ├─tomli │ │ │ │ └─__pycache__ │ │ │ ├─tomli_w │ │ │ │ └─__pycache__ │ │ │ ├─truststore │ │ │ │ └─__pycache__ │ │ │ ├─urllib3 │ │ │ │ ├─contrib │ │ │ │ │ ├─_securetransport │ │ │ │ │ │ └─__pycache__ │ │ │ │ │ └─__pycache__ │ │ │ │ ├─packages │ │ │ │ │ ├─backports │ │ │ │ │ │ └─__pycache__ │ │ │ │ │ └─__pycache__ │ │ │ │ ├─util │ │ │ │ │ └─__pycache__ │ │ │ │ └─__pycache__ │ │ │ └─__pycache__ │ │ └─__pycache__ │ └─pip-25.2.dist-info │ └─licenses │ └─src │ └─pip │ └─_vendor │ ├─cachecontrol │ ├─certifi │ ├─dependency_groups │ ├─distlib │ ├─distro │ ├─idna │ ├─msgpack │ ├─packaging │ ├─pkg_resources │ ├─platformdirs │ ├─pygments │ ├─pyproject_hooks │ ├─requests │ ├─resolvelib │ ├─rich │ ├─tomli │ ├─tomli_w │ ├─truststore │ └─urllib3 └─Scripts ``` site-packages:存放当前环境的第三方库。 **激活虚拟环境** 激活后,终端会显示环境名(如 (venv)),表示当前操作仅对该环境生效: | 系统 / 终端 | 激活命令 | | ----------------------- | ----------------------------------------------------- | | Windows CMD | venv\Scripts\activate.bat | | Windows PowerShell | .\venv\Scripts\Activate.ps1 | | macOS/Linux(Bash/Zsh) | source venv/bin/activate(简写:. venv/bin/activate) | 输入相应激活命令之后,会进入虚拟环境: ```txt (venv) S:\Python\newproject> ``` **使用虚拟环境** 直接pip安装所使用的库即可。 ```cmd pip install 第三方库名 -i <国内pip下载源> ``` **退出虚拟环境** ```cmd # 所有系统通用 deactivate ``` **删除虚拟环境** 直接删除环境目录即可(无残留) ```cmd # Windows:在文件管理器删除 venv 文件夹,或用命令 rmdir /s /q venv # macOS/Linux: rm -rf venv ```
毛林
2025年9月7日 12:01
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码