news 2026/9/25 2:50:08

从Anaconda到Miniconda:轻量级Python环境管理实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从Anaconda到Miniconda:轻量级Python环境管理实战指南

1. 为什么我最终从 Anaconda 换成了 Miniconda

如果你刚开始接触深度学习或者科学计算,大概率会在网上搜到两种安装方案:一个是 Anaconda,一个是 Miniconda。我最初也是从 Anaconda 入门的,毕竟它名气大、教程多,装完之后 Navigator 图形界面点一点就能用。但用了大概半年之后,我彻底转向了 Miniconda,原因很直接——Anaconda 太臃肿了。

Anaconda 安装包动辄 500MB 到 800MB,装完之后占用空间轻松超过 3GB,预装了上百个包,其中绝大多数我根本用不到。更让人头疼的是,它预装的包版本往往比较旧,当你需要安装 PyTorch 或者特定版本的 CUDA 工具链时,这些预装包反而会制造依赖冲突。Miniconda 就干净得多,安装包只有 50MB 左右,装完基础环境不到 400MB,只包含 conda、Python 和少量核心依赖,剩下的包完全由你自己按需安装。

这不是说 Anaconda 一无是处。如果你刚入门,不确定自己需要什么,Anaconda 的"全家桶"确实省事。但一旦你开始做正经的项目开发,尤其是需要精确控制 PyTorch、CUDA、cuDNN 版本的时候,Miniconda 的轻量和灵活就是压倒性优势。你可以把它理解成一个毛坯房,水电管线都通了,但家具家电全由你自己挑,不会出现"开发商送的沙发和你买的茶几风格打架"的情况。

这篇文章我会把 Miniconda 在 Windows 和 Linux(主要是 Ubuntu)上的安装流程完整走一遍,然后重点讲清楚虚拟环境的创建与管理、conda 换源加速、PyTorch 与 CUDA 的版本匹配安装,以及那些新手最容易踩的坑——比如conda activate报错、conda命令找不到、conda create慢到怀疑人生等等。每个步骤我都会解释为什么这么做,而不是只丢一条命令给你。

2. Miniconda 安装前的环境确认与版本选择

2.1 先搞清楚你的系统架构和已有 Python

在下载任何安装包之前,先确认两件事:你的操作系统是什么版本,以及系统里是否已经装了 Python。这两个信息直接决定了你该下载哪个安装包,以及安装后会不会出现路径冲突。

Windows 用户按Win + R,输入cmd打开命令提示符,然后执行:

systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"

这会告诉你系统是 Windows 10 还是 11,以及是 64 位还是 ARM 架构。绝大多数人是 x86_64,但如果你用的是 Surface Pro X 之类的 ARM 设备,就需要下载对应的 ARM64 版本。

Linux 用户执行:

uname -m && cat /etc/os-release

uname -m输出x86_64就是标准的 64 位 Intel/AMD 架构,输出aarch64则是 ARM 架构。/etc/os-release会显示你的发行版信息,比如 Ubuntu 20.04、22.04 等。

然后检查系统里是否已有 Python:

python --version python3 --version which python which python3

Windows 上用where python代替which python。这一步的目的是避免安装 Miniconda 之后,系统 Python 和 conda 的 Python 打架。如果你之前装过 Anaconda,建议先彻底卸载,包括清理环境变量中的相关路径,否则后面会出现"明明激活了环境,但 pip 装的包跑到别的地方去了"这种诡异问题。

2.2 Miniconda 下载渠道与版本选择

Miniconda 的官方下载地址是docs.conda.io/en/latest/miniconda.html,打开之后你会看到 Windows、macOS、Linux 三个平台的下载链接。每个平台下面又分 Python 3.x 版本和 64 位/ARM64 架构。

这里有一个很多人纠结的问题:选哪个 Python 版本?我的建议是选最新的稳定版 Python 3.x(目前是 3.12),原因很简单——Miniconda 自带的 Python 版本只影响 base 环境,你后续创建的每个虚拟环境都可以指定不同的 Python 版本。base 环境我建议尽量保持干净,不要在里面装任何项目依赖,只把它当作一个"管理工具"来用。

下载的时候注意区分安装包类型。Windows 上有.exe和.msi两种,推荐.exe,安装过程更直观。Linux 上是.sh脚本,macOS 上有.pkg和.sh两种,.pkg适合图形化安装,.sh适合命令行操作。

提示:不要从第三方站点下载 Miniconda 安装包,尽量走官方渠道。第三方站点可能捆绑额外软件,或者安装包被篡改,后续出现奇怪问题很难排查。

如果你在 Linux 服务器上没有图形界面,直接用wget下载:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

下载完成后可以用sha256sum校验文件完整性,官方页面上会提供对应的哈希值。这一步在服务器环境下尤其重要,因为网络传输过程中文件损坏的情况并不罕见。

3. Windows 与 Linux 双平台安装实操

3.1 Windows 下的安装细节与路径选择

双击下载好的.exe文件,安装向导会依次问你几个问题。第一个是安装类型,选"Just Me"还是"All Users"。如果你这台电脑只有你自己用,选"Just Me"就行,不需要管理员权限,安装路径也会放在用户目录下。如果是多人共用的工作站,选"All Users",但后续创建环境时要注意权限问题。

第二个关键选择是安装路径。默认路径通常是C:\Users\你的用户名\miniconda3,这个路径没问题,但如果你 C 盘空间紧张,可以改到 D 盘或 E 盘。这里有一个坑:安装路径中绝对不要包含中文或空格。我见过有人把 Miniconda 装在D:\软件\miniconda下面,结果 conda 创建环境时各种报错,排查了半天才发现是路径编码问题。用纯英文、无空格的路径,比如D:\miniconda3,能省掉很多麻烦。

第三个选择是"Add Miniconda3 to my PATH environment variable"。官方默认是不勾选的,理由是避免和系统已有的 Python 冲突。但如果你不勾选,安装完成后在普通命令行里输入conda会提示"不是内部或外部命令"。我的建议是:先不勾选,安装完成后通过 Anaconda Prompt 来使用 conda。如果你确实想在普通 cmd 或 PowerShell 里直接用 conda,可以后续手动把 Miniconda 的安装路径和 Scripts 路径加到系统环境变量里。

安装完成后,从开始菜单打开"Anaconda Prompt (miniconda3)",输入:

conda --version

如果输出了版本号,说明安装成功。再输入:

conda info

这会显示 conda 的安装路径、base 环境路径、Python 版本等信息。确认base environment指向你刚才设置的安装目录。

3.2 Linux 下的静默安装与初始化

Linux 下的安装更简单,一条命令搞定:

bash Miniconda3-latest-Linux-x86_64.sh

安装过程中会问你安装路径,默认是~/miniconda3。如果你希望所有用户都能用,可以改成/opt/miniconda3,但需要 sudo 权限。安装脚本最后会问你是否运行conda init,选 yes。

conda init这个步骤非常关键,它会修改你的 shell 配置文件(比如~/.bashrc或~/.zshrc),在里面加入 conda 的初始化代码。如果你选了 no,安装完成后你会发现conda activate命令用不了,会报错:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

这时候你需要手动执行:

source ~/miniconda3/bin/activate conda init

然后关闭当前终端重新打开,或者执行source ~/.bashrc让配置生效。

安装完成后验证:

conda --version conda info

如果conda命令找不到,检查~/.bashrc里是否有 conda 的初始化块。正常情况下你会看到类似这样的内容:

# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/home/你的用户名/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/你的用户名/miniconda3/etc/profile.d/conda.sh" ]; then . "/home/你的用户名/miniconda3/etc/profile.d/conda.sh" else export PATH="/home/你的用户名/miniconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<

注意:如果你用的是 zsh 而不是 bash,conda init会修改~/.zshrc。如果你用的是 fish shell,需要执行conda init fish。不同 shell 的初始化方式不同,这一点在服务器上切换 shell 时特别容易忽略。

4. 虚拟环境创建与 conda 换源加速

4.1 创建虚拟环境的正确姿势

虚拟环境是 conda 最核心的功能,没有之一。它的作用是把不同项目的依赖隔离开,避免"项目 A 需要 PyTorch 1.12,项目 B 需要 PyTorch 2.0"这种版本冲突。你可以把它理解成给每个项目单独准备一个工具箱,工具之间互不干扰。

创建一个新环境的命令是:

conda create -n myenv python=3.10

-n后面跟环境名称,python=3.10指定这个环境使用的 Python 版本。环境名称建议用英文,不要用中文或特殊字符。创建过程中 conda 会列出将要安装的包,输入y确认。

创建完成后激活环境:

conda activate myenv

激活后命令行提示符前面会出现(myenv),表示你当前在这个环境中。退出环境用:

conda deactivate

查看所有环境:

conda env list

删除环境:

conda env remove -n myenv

这里有一个新手常犯的错误:在 base 环境里直接pip install各种包。base 环境应该保持干净,只用来管理其他环境。如果你在 base 里装了一堆东西,后面创建新环境时可能会出现依赖解析冲突,而且 base 环境一旦搞坏了,修复起来很麻烦。

4.2 conda 换源:解决下载慢的核心手段

默认情况下,conda 从国外的服务器下载包,国内访问速度可能非常慢,conda create卡在 "Solving environment" 几分钟甚至十几分钟都是常事。解决办法是换成国内镜像源。

目前比较稳定的镜像是清华大学的 TUNA 源。配置方法如下:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes

执行完这些命令后,conda 的配置文件~/.condarc(Windows 上是C:\Users\你的用户名\.condarc)会被更新。你可以用conda config --show channels查看当前配置的源。

如果你需要安装 PyTorch,还需要额外配置 PyTorch 的镜像源。不过要注意,PyTorch 官方推荐的安装方式是通过pytorch和nvidia这两个 channel,换源的时候要确保这两个 channel 也被正确镜像。

提示:换源之后如果遇到 SSL 证书错误,可以尝试把https改成http,但不推荐长期这样用。更好的做法是检查系统时间是否正确,SSL 证书验证失败很多时候是因为系统时间偏差太大。

除了 conda 源,pip 源也建议一起换掉。在用户目录下创建pip文件夹,里面新建pip.ini(Windows)或pip.conf(Linux/macOS),写入:

[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn

这样无论是 conda install 还是 pip install,速度都会有明显提升。

4.3 conda create 慢的另一个原因:solver 问题

即使换了源,有时候conda create还是会卡在 "Solving environment" 很久。这是因为 conda 的依赖解析器在包数量多、依赖关系复杂时计算量很大。从 conda 4.12 开始,官方引入了libmamba求解器,速度比默认的经典求解器快很多。

启用 libmamba 求解器:

conda install -n base conda-libmamba-solver conda config --set solver libmamba

设置完成后,再次执行conda create或conda install,依赖解析速度通常会有数倍提升。这个改动是我个人认为近几年 conda 最实用的改进之一,强烈建议开启。

5. PyTorch 与 CUDA 的版本匹配安装

5.1 先查显卡驱动支持的 CUDA 版本

安装 PyTorch GPU 版本之前,必须先确认你的显卡驱动支持哪个 CUDA 版本。这不是你想装哪个就装哪个,而是驱动决定了上限。

在命令行执行:

nvidia-smi

输出右上角会显示 "CUDA Version: 12.2" 之类的信息,这表示你的驱动最高支持 CUDA 12.2。你可以安装低于这个版本的 CUDA(比如 11.8),但不能安装高于它的版本。

如果你执行nvidia-smi提示命令找不到,说明显卡驱动没装好,或者你的机器根本没有 NVIDIA 显卡。这种情况下只能装 CPU 版本的 PyTorch。

注意:nvidia-smi显示的 CUDA Version 是驱动支持的最高版本,不是你当前安装的 CUDA Toolkit 版本。很多人把这两个概念搞混,以为显示 12.2 就是已经装了 CUDA 12.2,其实不是。

5.2 通过 conda 安装 PyTorch 的完整流程

PyTorch 官方推荐用 conda 安装,因为 conda 会自动处理 CUDA Toolkit 和 cuDNN 的依赖关系,不需要你手动去 NVIDIA 官网下载 CUDA 安装包。这一点对新手特别友好。

首先创建一个专门用于 PyTorch 的环境:

conda create -n pytorch python=3.10 conda activate pytorch

然后根据你的 CUDA 版本选择对应的安装命令。以 CUDA 11.8 为例:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

如果你需要 CUDA 12.1:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

CPU 版本:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装完成后验证:

import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0))

如果torch.cuda.is_available()返回True,说明 GPU 版本安装成功。返回False的话,检查三个地方:显卡驱动是否正常、安装的 PyTorch 是否是 GPU 版本、CUDA 版本是否匹配。

5.3 手动安装 CUDA Toolkit 的场景与步骤

有些情况下你需要手动安装 CUDA Toolkit,比如编译某些需要 CUDA 支持的第三方库,或者使用 conda 无法覆盖的特定版本。Ubuntu 下的安装步骤如下:

首先去 NVIDIA 官网下载对应版本的 CUDA Toolkit runfile。以 CUDA 11.8 为例:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run

安装过程中注意:如果你已经装了显卡驱动,在安装选项里把 Driver 那一项取消勾选,只安装 CUDA Toolkit。否则可能会覆盖现有驱动,导致图形界面无法启动。

安装完成后配置环境变量,在~/.bashrc末尾添加:

export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH

然后source ~/.bashrc,执行nvcc -V验证。如果输出了 CUDA 版本信息,说明安装成功。

提示:手动安装 CUDA Toolkit 和 conda 安装的 PyTorch 自带的 CUDA 运行时是两套东西。PyTorch 通过 conda 安装时会自带 CUDA 运行时库,不依赖系统级的 CUDA Toolkit。所以如果你只是跑 PyTorch,完全不需要手动装 CUDA Toolkit。只有当你需要编译自定义 CUDA 算子或者使用 TensorRT 等工具时,才需要系统级的 CUDA Toolkit。

6. 那些年我踩过的 conda 坑与排查思路

6.1 conda activate 报错的完整排查链路

conda activate报错是最高频的问题,没有之一。错误信息通常是:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

或者 Windows 上:

'conda' 不是内部或外部命令,也不是可运行的程序或批处理文件。

排查思路按以下顺序来:

第一步,确认 conda 是否真的安装了。找到 Miniconda 的安装目录,看bin文件夹下是否有conda可执行文件。如果没有,说明安装过程出了问题,重新安装。

第二步,确认conda init是否执行过。Linux/macOS 下检查~/.bashrc或~/.zshrc里有没有 conda 的初始化块。Windows 下检查是否通过 Anaconda Prompt 来使用 conda。

第三步,如果初始化块存在但命令还是找不到,尝试手动 source:

source ~/miniconda3/etc/profile.d/conda.sh conda activate myenv

如果这样能成功,说明 shell 配置文件没有被正确加载。检查你的终端是不是登录 shell,或者有没有其他配置文件覆盖了 PATH。

第四步,Windows 下如果坚持要在普通 cmd 里用 conda,需要手动添加环境变量。把以下三个路径加到系统 PATH 里:

D:\miniconda3 D:\miniconda3\Scripts D:\miniconda3\Library\bin

添加完成后重启命令行窗口。

6.2 虚拟环境迁移与跨平台复现

团队协作时经常需要把环境从一台机器迁移到另一台。conda 提供了conda env export命令来导出环境配置:

conda env export > environment.yml

这个文件包含了环境中所有包及其精确版本号。在另一台机器上复现:

conda env create -f environment.yml

但这里有一个坑:conda env export默认会导出所有依赖,包括通过 pip 安装的包和 conda 自动解析的间接依赖。跨平台(比如从 Linux 导出的 yml 在 Windows 上创建)时,某些平台特定的包会导致创建失败。

更稳妥的做法是导出时加上--no-builds参数,去掉平台相关的 build 信息:

conda env export --no-builds > environment.yml

或者只导出你显式安装的包:

conda env export --from-history > environment.yml

--from-history只记录你手动conda install的包,不记录自动解析的依赖,跨平台兼容性最好。缺点是复现时 conda 会重新解析依赖,可能装到略有不同的版本。

6.3 PyCharm 使用 conda 虚拟环境的配置要点

在 PyCharm 里使用 conda 虚拟环境时,最常见的报错是"找不到 Python 解释器"或者"创建项目时报错"。核心原因是 PyCharm 没有正确识别 conda 环境的 Python 路径。

正确的配置方式:打开 PyCharm 设置,找到 Project Interpreter,点击添加,选择 Conda Environment,然后指定 conda 可执行文件路径(比如D:\miniconda3\Scripts\conda.exe),PyCharm 会自动列出所有已有的 conda 环境。选择你需要的环境即可。

如果你在创建新项目时选择"New Conda Environment",PyCharm 会调用 conda 创建一个新环境。这个过程有时候会因为网络问题卡住,建议先在命令行里手动创建好环境,然后在 PyCharm 里选择已有环境。

提示:PyCharm 的终端默认可能不会自动激活 conda 环境。你可以在 PyCharm 设置里的 Tools > Terminal 中,把 Shell path 改成cmd.exe /k "D:\miniconda3\Scripts\activate.bat",这样打开终端时会自动激活 base 环境。

7. 我日常使用 conda 的几条经验

用了几年 conda 之后,有几个习惯我觉得值得分享。第一,base 环境永远保持干净,只装 conda 本身和少数管理工具,所有项目依赖都放在独立环境里。第二,每个项目的环境名称尽量和项目名称对应,比如project-nlp、project-cv,不要用test1、env2这种名字,过一个月你自己都记不住哪个是哪个。第三,定期清理不用的环境,conda env list看一下,超过三个月没碰的环境直接删掉,省磁盘空间也省心。

还有一个细节:conda 和 pip 不要混用得太随意。在同一个环境里,优先用 conda 安装,conda 找不到的包再用 pip。混用的时候,先 conda 后 pip,不要反过来。因为 conda 在解析依赖时会考虑环境中已有的包,而 pip 不会,pip 后装可能会覆盖 conda 装的包,导致依赖关系混乱。

最后说一个实际场景:如果你在 WSL 里跑 PyTorch,conda 的安装流程和纯 Linux 完全一样。WSL 的 CUDA 支持需要 Windows 端的显卡驱动足够新,WSL 内部不需要单独装显卡驱动,只需要装 CUDA Toolkit 和 PyTorch 即可。nvidia-smi在 WSL 里也能正常使用,前提是 Windows 驱动版本符合要求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 2:46:44

4路CAN FD免驱工具:LTE远程调试+故障注入全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/25 2:44:26

猫抓浏览器扩展最短路径实操:网页媒体嗅探与 M3U8 离线保存

猫抓浏览器扩展最短路径实操&#xff1a;网页媒体嗅探与 M3U8 离线保存 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓&#xff08;cat-catch…

作者头像 李华