欢迎光临
我们一直在努力

Miniconda在Ubuntu上的安装与配置全攻略(含清华镜像)

Miniconda在Ubuntu上的安装与配置全攻略(含清华镜像)


在当今AI和数据科学项目日益复杂的背景下,一个干净、隔离且可复现的开发环境几乎成了标配。你有没有遇到过这样的场景:刚跑通一个项目的代码,换到另一个项目时却因为PyTorch版本不兼容直接报错?或者明明pip install成功了,运行时却提示找不到某个C++依赖库?

这类问题的根源往往不是代码本身,而是环境混乱。Python生态虽然强大,但不同项目对库版本、编译器、系统级依赖的要求千差万别。这时候,与其“修修补补”,不如从一开始就用一套科学的环境管理工具——比如 Miniconda。

相比Anaconda那种“全家桶”式安装,Miniconda更像是一把精准的手术刀:只给你最核心的组件(Python + Conda),剩下的由你按需装配。尤其在 Ubuntu 这类主流 Linux 系统上,它能轻巧地支撑起多版本Python共存、项目依赖隔离、快速环境迁移等关键需求。

更重要的是,国内用户还有一个“卡脖子”问题:官方Conda源下载速度慢得像蜗牛。动辄几十兆的包,等个十分钟也不稀奇。解决办法也很简单——换成国内镜像,比如 清华大学开源软件镜像站(TUNA)。一旦配置妥当,下载速度常常能提升5倍以上。

接下来我们就一步步来搭建这套高效组合:从零开始,在 Ubuntu 上安装 Miniconda,并完成镜像加速配置,最终实现稳定、快速、可复现的开发环境体系。


为什么选Miniconda而不是Anaconda或virtualenv?

先说结论:如果你追求的是灵活性高、体积小、控制力强的环境方案,Miniconda 是最优解。

Anaconda 虽然功能齐全,但它预装了200多个包,初始安装就超过500MB。对于只需要TensorFlow或PyTorch中某几个框架的开发者来说,这无异于“杀鸡用牛刀”。而传统的 virtualenv 或 Python 内置的 venv,虽然轻量,但只能管理纯Python依赖,无法处理像OpenBLAS、FFmpeg这类底层二进制库。

Conda 的厉害之处就在于它是语言无关的包管理器。它不仅能装Python包,还能打包并分发非Python组件,甚至可以管理CUDA工具链。这种能力让整个AI开发栈的部署变得极其统一。

特性MinicondaAnacondavirtualenv/venv
初始体积 ~80–100 MB >500 MB 极小
是否包含GUI 是(Navigator)
支持非Python依赖
跨平台一致性 ⚠️(依赖系统差异)
安装灵活性
环境复现能力 强(支持environment.yml) 较弱

所以,对于算法工程师、科研人员或多项目并行的开发者而言,Miniconda 几乎是必选项。


安装Miniconda:从下载到初始化

我们以 Ubuntu 20.04+ 系统为例,全程使用命令行操作。

首先下载最新的 Miniconda 安装脚本:

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

为了确保文件完整性和安全性,建议校验SHA256指纹:

sha256sum Miniconda3-latest-Linux-x86_64.sh

你可以访问 Miniconda官网 核对输出是否一致。

接着执行安装脚本:

bash Miniconda3-latest-Linux-x86_64.sh

安装过程会进入交互模式,关键步骤如下:

  • 接受许可协议(输入 yes)
  • 选择安装路径(推荐默认的 ~/miniconda3)
  • 是否初始化 Conda(建议选 yes,自动运行 conda init)
  • 安装完成后,关闭当前终端并重新打开,或手动加载环境变量:

    source ~/.bashrc

    此时你应该能在命令行看到 (base) 提示符,表示 Conda 已激活。

    验证安装是否成功:

    conda –version
    python –version

    如果正常输出版本号,说明基础环境已就绪。


    创建与管理独立环境:告别依赖冲突

    真正的价值体现在环境隔离上。假设你同时维护两个项目:一个基于旧版PyTorch 1.9,另一个要用最新的PyTorch 2.1。传统做法下几乎不可能共存,但在 Conda 中只需两条命令即可搞定。

    创建第一个环境:

    conda create -n pt19 python=3.8

    激活该环境并安装指定版本:

    conda activate pt19
    conda install pytorch==1.9.0 torchvision cpuonly -c pytorch

    切换到新版环境:

    conda deactivate
    conda create -n pt21 python=3.9
    conda activate pt21
    conda install pytorch==2.1.0 torchvision cpuonly -c pytorch

    现在你可以随时通过 conda activate pt19 或 conda activate pt21 切换上下文,彼此完全不受影响。命令行前缀也会实时反映当前环境名称,非常直观。

    查看当前环境中的包列表:

    conda list

    退出当前环境:

    conda deactivate

    彻底删除某个环境(谨慎操作):

    conda remove -n pt19 –all

    小贴士:环境名尽量有语义,比如 cv-exp-2024, nlp-pretrain-py39,避免使用空格或特殊字符。


    加速神器:配置清华镜像源(TUNA)

    没有镜像的 Conda 在国内基本没法用。你会发现 conda install numpy 可能卡住半小时都没动静。原因很简单:默认源位于美国,跨国传输延迟高、丢包严重。

    解决方案就是替换为 清华大学TUNA镜像。它的同步频率高(每日多次)、带宽足、稳定性好,而且无需任何代理即可访问。

    配置方式是修改用户目录下的 .condarc 文件:

    vim ~/.condarc

    填入以下内容:

    channels:
    – defaults
    show_channel_urls: true
    channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
    default_channels:
    – https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    – https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
    – https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:
    conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

    这个配置做了几件事:

    • 将 defaults 通道重定向至清华镜像;
    • 设置 channel_alias,使得所有未显式列出的云频道也能自动走镜像;
    • 启用 show_channel_urls,让你在安装时清楚知道包来自哪里。

    保存后清除缓存,使新配置生效:

    conda clean -i

    验证是否成功:

    conda search numpy

    观察输出中的 Channel 字段,若显示为 https://mirrors.tuna.tsinghua.edu.cn/…,说明镜像已启用。

    如果你想恢复默认源,只需删除该文件:

    rm ~/.condarc


    实际应用场景:如何真正提升效率?

    场景一:复现论文实验环境

    很多论文只提供 requirements.txt,但其中往往缺失关键信息:MKL优化、CUDA版本、编译器依赖等。而 Conda 可以导出完整的运行时快照。

    在你的环境中安装完所有依赖后,执行:

    conda env export > environment.yml

    生成的YAML文件会记录精确的Python版本、每个包的build号、通道来源等细节。

    其他人拿到这个文件后,只需一条命令即可重建完全一致的环境:

    conda env create -f environment.yml

    这对科研协作和CI/CD流程意义重大。

    场景二:混合使用 Conda 和 pip

    尽管推荐优先使用 conda install,但有些包(如最新版HuggingFace库)可能尚未进入Conda仓库。这时可以用 pip 补充安装:

    conda activate myenv
    pip install transformers datasets accelerate

    但要注意:不要在同一个环境中大量混用pip包,否则容易破坏Conda的依赖解析机制。最佳实践是:

  • 先用 conda 安装基础科学计算库(numpy, scipy, pandas);
  • 再用 pip 安装Conda中没有的包;
  • 导出环境时注意区分来源。
  • 场景三:定期清理磁盘空间

    Conda会缓存已下载的包,时间久了可能占用数GB空间。建议定期清理:

    # 删除未使用的包缓存
    conda clean –unused-only

    # 彻底清理所有缓存(包括tarballs和索引)
    conda clean –all

    还可以设置自动清理策略,避免磁盘爆满。


    最佳实践与常见误区

  • 安装路径不要用sudo – 建议始终安装在用户主目录(如 ~/miniconda3),避免权限问题; – 使用 sudo 安装可能导致后续普通用户无法修改环境。

  • 命名规范很重要 – 使用有意义的名字,如 py38-tf2x, ml-exp-jan; – 避免使用中文、空格或特殊符号。

  • 依赖安装顺序建议 – 优先使用 conda install 安装核心数值计算库(NumPy、SciPy); – 它们通常是预编译的,性能优于pip安装的通用版本; – 对于深度学习框架,可通过官方channel安装(如 -c pytorch)。

  • 不要忽视环境导出 – 每个项目完成后都应导出 environment.yml; – 提交到Git时记得排除 prefix 字段(可在导出时加 –no-builds 参数)。

  • 避免 base 环境臃肿 – 不要在 (base) 环境中安装太多包; – 把 base 当作启动器,具体工作都在独立环境中进行。


  • 总结:构建现代AI开发的基础能力

    Miniconda 不只是一个工具,它代表了一种工程化思维:将环境视为代码的一部分,强调可复制、可追踪、可维护。

    结合清华镜像后,这套方案在国内几乎做到了“开箱即用”——既解决了依赖冲突的老大难问题,又克服了网络瓶颈带来的体验障碍。

    无论是个人做模型实验,还是团队协作推进项目迭代,掌握 Miniconda 的正确使用方法,都是迈向专业化的第一步。它看似简单,实则深刻影响着你的开发节奏、调试效率乃至成果复现的可能性。

    下次当你准备启动一个新项目时,不妨先花五分钟建立一个干净的 Conda 环境。这份克制与秩序感,终将在长期回报中显现价值。

    赞(0)
    未经允许不得转载:171主机测评 » Miniconda在Ubuntu上的安装与配置全攻略(含清华镜像)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址