Python3.3及以上版本内置虚拟环境模块,可为每个项目创建独立环境,隔离依赖,避免污染全局安装。通过依赖清单文件可复现环境。操作包括创建、激活、安装依赖、退出及删除文件夹,整个过程简洁高效,适合团队协作与部署。
Python 3.3 及以上版本内置了 venv 模块,无需额外安装,官方推荐,轻量且高效。许多初学者对“虚拟环境”概念不清晰,简单来说,就是为每个项目创建一个独立的空间,其中的 Python 解释器和第三方库完全属于该项目,彼此互不干扰。
requirements.txt 记录依赖,其他人获取项目后只需一条命令即可还原环境,便于团队协作和服务器部署。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
| 工具 | 类型 | 优势 | 适用场景 |
|---|---|---|---|
| venv | Python内置 | 零安装、轻量、官方标准 | 普通Python项目、日常开发 |
| virtualenv | 第三方 | 兼容Python2、功能拓展 | 老旧Python版本项目 |
| conda | Anaconda配套 | 支持Python/C++库、多语言 | 数据分析、AI深度学习 |
使用 venv 创建环境后,项目目录下会生成一个文件夹(例如 env),该文件夹包含完整的虚拟环境。所有解释器、pip、依赖均封闭在此,与系统全局完全隔离。典型目录结构如下:
env/ ├── Scripts/ # Windows系统 │ ├── activate.bat # CMD激活脚本 │ ├── Activate.ps1 # PowerShell激活脚本 │ ├── python.exe # 环境独立解释器 │ └── pip.exe # 环境独立包管理器 ├── bin/ # macOS / Linux系统 │ ├── activate │ ├── python │ └── pip └── Lib/site-packages/ # 存放所有安装的第三方库
关键点:整个文件夹就是虚拟环境本身。要删除环境,直接删除该文件夹即可,干净无残留。
开始前,确认电脑上安装的 Python 版本。不同平台命令略有差异:
# Windows python --version py --version # 如果存在多个python版本 py -0p # 输出所有python版本及对应路径 # macOS/Linux python3 --version
# Windows CMD/PowerShell python -m venv env # macOS/Linux python3 -m venv env
env 是虚拟环境文件夹名,行业常用 .venv、venv、test_env,可根据喜好选择。# 使用指定python版本创建虚拟环境 py -3.11 -m venv env
# 1. 不带pip(纯干净环境) python -m venv --without-pip env # 2. 继承系统全局已安装包(极少用) python -m venv --system-site-packages env
第一个参数 --without-pip 创建的环境连 pip 都没有,适用于极端干净的测试环境。第二个参数 --system-site-packages 让虚拟环境“共享”全局已安装包,通常不推荐,因为会失去隔离意义。
激活成功的标志:终端命令行最前面出现 (环境名) 提示,例如 (env) C:\Users\...>。此时执行的 python 或 pip 均指向虚拟环境,而非系统全局。
envScriptsactivate.bat 或者 envScriptsactivate
.envScriptsActivate.ps1
如果 PowerShell 报错“执行策略不允许运行脚本”,可用以下命令临时放行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
source env/bin/activate
# Windows where python # macOS/Linux which python
如果输出路径包含 env 文件夹,表明已成功进入虚拟环境。
# 单包安装 pip install requests # 指定版本安装 pip install requests==2.34.2 # 国内清华镜像加速(解决下载慢) pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
国内用户使用清华镜像源可显著提升下载速度,避免从 PyPI 官方源下载时的缓慢问题。
这是多人协作和服务器部署的必备操作。将当前环境所有包及其精确版本记录下来,生成文件:
# 正确导出命令(必须加 > 重定向符号) 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
pip list --not-required 命令非常实用,可过滤掉被其他包自动依赖的底层库,仅显示主动安装的包。
全平台通用,只需一条命令:
deactivate
执行后,终端前的 (env) 消失,表明已回到系统全局 Python。
使用 venv 创建的环境,直接删除整个文件夹即可,无任何系统残留。所有包均位于文件夹内,删除后彻底清理,不会污染全局。
deactivate
env 文件夹,右键删除或移入回收站。rmdir /s /q env
rm -rf env
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
.venv,便于 VS Code 和 PyCharm 自动识别并激活,减少手动操作。.gitignore 中添加以下内容:# 虚拟环境目录 env/ .venv/ venv/ # 缓存文件 __pycache__/ *.pyc # 环境变量文件 .env
pip freeze > requirements.txt 同步依赖清单,养成良好习惯。requirements.txt 还原依赖。不会。虚拟环境与全局完全隔离,删除的仅是文件夹内的依赖,全局不受影响。
核对文件夹名称:Windows 下为 Scripts,mac/Linux 下为 bin,注意路径大小写。
检查是否遗漏重定向符号 >。错误写法 pip freeze requirements.txt 仅将列表打印到屏幕,正确写法 pip freeze > requirements.txt 才能写入文件。
无用的环境直接删除文件夹。一个空环境约 30MB,深度学习项目安装包后可能达数 GB,定期清理废弃环境可释放磁盘空间。
| 操作 | Windows CMD | macOS/Linux |
|---|---|---|
| 创建环境 | python -m venv env | python3 -m venv env |
| 激活环境 | envScriptsactivate.bat | source env/bin/activate |
| 导出依赖 | pip freeze > requirements.txt | pip freeze > requirements.txt |
| 批量安装依赖 | pip install -r requirements.txt | pip install -r requirements.txt |
| 退出环境 | deactivate | deactivate |
| 删除环境 | rmdir /s /q env | rm -rf env |
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述