conda环境与虚拟环境
conda环境与虚拟环境区别
| 对比维度 | Conda 环境 | Python 自带的 venv |
|---|---|---|
| 支持的语言 | Python, C/C++, R, CUDA 等任何语言和二进制依赖 | 仅限 Python 及其相关的第三方包 |
| Python 版本 | 可以自由安装不同的 Python 版本(如 3.8/3.11) | 受限于系统已有的 Python,不能自己下载/安装 Python |
| 包管理工具 | 使用 conda install(从 Anaconda/Conda-forge 仓库下载编译好的二进制包) |
使用 pip install(从 PyPI 下载,部分包需要本地编译) |
| 适用场景 | 数据科学、机器学习、深度学习(涉及大量 C++ 底层库和 GPU/CUDA 依赖) | 传统 Web 开发、自动化脚本、轻量级 Python 应用 |
| 存储位置 | 统一管理在 Conda 的安装目录下(如 anaconda3/envs/) |
通常直接创建在当前项目的文件夹内(如 my_project/.venv/) |
conda环境的生命周期
1.创建(可随意指定 Python 版本)
1 | |
my_conda_env:是你给这个环境起的名字python=3.10:你指定要使用的 Python 版本(你可以换成3.8、3.11、3.12等任意版本)- (注:中途如果提示
Proceed ([y]/n)?,输入y然后按回车即可)
TIP: --name可以简写成-n
2.激活(进入)
1 | |
怎么判断成功了?
激活成功后,你的命令行提示符最左侧的 (base) 就会变成 (my_conda_env)。
3.在环境里安装包
pip或conda安装都行
普通的轻量级库(如 httpx, requests),可以直接用 pip:
1 | |
数据科学/深度学习相关的库,优先用 Conda 官方渠道:
1 | |
4.切换conda环境
1 | |
5.退出conda环境
1 | |
6.彻底删除conda环境(如果项目做完了不需要了)
1 | |
TIP:
--name可以简写成-n--all可以简写成-a
虚拟环境的生命周期
1.创建(当前项目目录下)
1 | |
2.激活(进入)
Windows (PowerShell 推荐):
1 | |
(如果是旧的 CMD,使用:.venv\Scripts\activate.bat)
Mac / Linux:
1 | |
怎么判断激活成功了?
激活成功后,你的命令行提示符最前面会出现 (.venv) 的字样
3.在环境里安装包
1 | |
4.退出虚拟环境
1 | |
5.彻底删除虚拟环境
如果这个项目你不要了,直接把 .venv 文件夹删掉就行了(或rm -rf .venv),没有任何残留。
其它
1.虚拟环境用.开头好还是普通命名好?
如果你纠结,直接选择用 .venv。它是目前 Python 社区最主流的行业标准写法。
为什么用 . 开头(如 .venv)更好?
- 隐藏文件夹,保持清爽:在 Mac、Linux 以及很多代码编辑器里,以
.开头的文件夹默认是隐藏的。你的虚拟环境包含几千个杂乱的 Python 依赖文件,把它们隐藏起来,你的项目根目录下就只剩下你自己的干净代码(如main.py),看着非常舒服。 - 防止误操作:因为被隐藏了,你平时在批量复制、移动或手动清理项目文件时,不容易误删或者把巨大的虚拟环境文件夹一起打包发给别人。
- 工具完美识别:现在的 VS Code、PyCharm、Git 等工具,默认都把
.venv加入了识别白名单或忽略名单,不需要你额外配置。
2.如何导出虚拟文件依赖?如何使用依赖?
第 1 步:在终端中激活你的虚拟环境
首先,确保你的终端左侧已经出现了虚拟环境的名字(例如 (.venv) 或 (my_venv))。
- Mac / Linux:
source .venv/bin/activate - Windows:
.venv\Scripts\Activate.ps1
第 2 步:运行导出命令
激活环境后,在终端中直接运行以下命令:
1 | |
这行命令是什么意思?
pip freeze:让 pip 列出当前虚拟环境中安装的所有第三方库及其精准版本号。>:这是一个“重定向”符号,意思是把屏幕上本该显示的文字,打包写进一个文件里。requirements.txt:这是 Python 社区约定的通用依赖配置文件名(你也可以改名,但建议保留这个行业标准)。
运行完后,你会发现你的项目文件夹里多了一个 requirements.txt 文件,打开它里面长这样:
text
1 | |
别人(或你以后)如何一键还原这个环境?
当你把项目代码和这个 requirements.txt 一起发给同事,或者换到另一台电脑上时,对方只需要:
- 创建并激活一个新的干净虚拟环境。
- 在终端运行以下命令,就能一键自动安装里面记录的所有库:
1 | |
原创文章,转载请标明出处:
Made by Eli Bi
Made by Eli Bi
感谢您的支持 | Thank you for supporting
conda环境与虚拟环境
http://example.com/2026/09/17/Conda-environment-and-virtual-environment/