服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-21 简米科技 5,094 字 12 分钟阅读

虚拟机如何正确安装Anaconda?Anaconda安装使用教程

导读在虚拟机里装 Anaconda,成败往往不在安装那一步,而在三件前置小事——给虚拟机留够内存和磁盘、装完用 sha256 校验安装包、初始化用 conda init 而不是手动往 PATH 里塞路径,这三步做对了,后面创建环境、跑 Jupyter、装深度学习框架基本一路顺;做错了,最常见的结局是命令行里 con……

在虚拟机里装 Anaconda,成败往往不在安装那一步,而在三件前置小事给虚拟机留够内存和磁盘、装完用 sha256 校验安装包、初始化用 conda init 而不是手动往 PATH 里塞路径。这三步做对了,后面创建环境、跑 Jupyter、装深度学习框架基本一路顺;做错了,最常见的结局是命令行里 conda 一会儿有一会儿没有,或者磁盘被虚拟磁盘文件悄悄吃光。

下面按“为什么装、怎么装、装完怎么用、坑在哪”的顺序说清楚。

为什么要把 Anaconda 放进虚拟机

适合这么干的几类人

把数据科学环境关进虚拟机,本质上是用一点性能换一份“随便折腾也不怕”的安全感,下面这些场景,虚拟机方案确实划算:

  • 要在 Windows 上用 Linux 生态的工具链:很多生信、编译类包在 Linux 下体验明显更顺,装个 Ubuntu 虚拟机比折腾双系统省心。
  • 多个项目依赖互相打架:老项目要 Python 3.7,新项目要 3.12,虽然 conda 环境能隔离大部分,但系统级依赖(CUDA、编译器等)还是会冲突,一台虚拟机一个“世界观”更干净。
  • 做教学演示或给别人复现环境:装好就打个快照,出问题一键回滚,比在真机上卸载重装快得多。
  • 公司电脑权限受限:没有管理员权限装不了系统级软件,但装个 VirtualBox 通常没问题。

什么情况下其实不用虚拟机

如果你的需求只是“不同项目用不同 Python 版本”,conda 自带的虚拟环境就够了,没必要上虚拟机,多一层开销,WSL2 在 Windows 上属于轻量虚拟化,跑 conda 比完整虚拟机快不少,日常开发可以优先考虑。

行业共识认为,环境隔离的粒度应该跟着“系统级依赖差异”走,而不是跟着“项目数量”走,项目多不等于要开多台虚拟机。

装之前先分好资源

内存、磁盘、CPU 给多少合适

给少了会卡,给多了宿主机难受,参考下面这个区间,按自己机器实际情况调整:

使用场景 内存建议 虚拟磁盘 CPU 核心
只跑 Python 脚本、Pandas 分析 4 GB 起 40 GB 2 核
跑 Jupyter、机器学习入门 8 GB 起 60 GB 2-4 核
装 PyTorch/TensorFlow 训练小模型 16 GB 起 80 GB 以上 4 核

几个常被忽略的点:

  • Anaconda 本体安装完约占 3-5 GB,但每建一个环境还要再吃 1-3 GB,缓存目录 pkgs 也会不断变大,磁盘别卡着最低线给。
  • 虚拟磁盘别开“精简置备后永不回收”,用久了 .vmdk/.vdi 文件只涨不缩,定期用 conda clean -a 清缓存。
  • 如果是 VMware,建议装 VMware Tools;VirtualBox 装增强功能包,共享文件夹和剪贴板才好用。

国内下载慢的现实问题

据清华开源软件镜像站公开说明,Anaconda 官方源在国内访问速度波动较大,装大包时经常卡在下载阶段,两个办法:

  1. 下载安装包时走国内镜像,例如清华镜像站的 anaconda/archive 目录,通常比官网快不少。
  2. 安装完成后立刻配 .condarc 换源,把 pkgs/main、pkgs/r 指向国内镜像。

需要说明的是,镜像站会定期同步,个别冷门包可能还没同步过来,遇到 PackagesNotFoundError 时可以临时切回官方源试一次。

虚拟机中 Anaconda 环境配置教程:从下载到跑通第一个环境

第一步:下载与校验

以 Linux 虚拟机为例,官网或镜像站下载 Anaconda3-20xx.xx-Linux-x86_64.sh,下载完别急着执行,先校验:

sha256sum Anaconda3-.sh

把结果和官网公布的 SHA256 值比对,Windows 下用 certutil -hashfile 文件名 SHA256,这一步看着多余,但能排掉下载中断导致的“安装到一半报解压错误”。

第二步:执行安装

bash Anaconda3-20xx.xx-Linux-x86_64.sh -b -p $HOME/anaconda3

-b 是静默安装,-p 指定路径。强烈建议装在用户主目录下,不要装到 /opt 或 /usr/local,否则后面所有 conda 命令都得加 sudo,权限问题会一路跟着你。

Windows 虚拟机里就是双击 exe,注意两点:安装路径不要含中文和空格,不要勾选“Add Anaconda to my PATH environment variable”,让它用自带的 Anaconda Prompt。

第三步:初始化 shell

$HOME/anaconda3/bin/conda init bash
source ~/.bashrc

conda init 会往 .bashrc 里写一段带标记的初始化代码,这是官方推荐方式,手动写 export PATH=/home/xxx/anaconda3/bin:$PATH 的后果是:系统自带的 Python、pip 会被悄悄盖掉,某些依赖系统 Python 的工具直接崩。

验证一下:

conda --version
which python

which python 应该指向 anaconda3/bin/python,说明生效了。

第四步:换源并建第一个环境

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda create -n demo python=3.11 -y
conda activate demo

装完 conda env list 看一眼环境列表,conda deactivate 退出,到这一步,虚拟机里的 Anaconda 就算真正可用了。

Anaconda 和 Miniconda 在虚拟机里选哪个好

这个问题问得很多,尤其虚拟机磁盘不算宽裕的时候,两者的差别说白了就是“要不要预装那一大堆包”。

对比项 Anaconda Distribution Miniconda
初始体积 约 3-5 GB 约 500 MB
预装包数量 数百个,含 NumPy、Pandas、Jupyter 等 只有 conda、Python 和基础依赖
适合人群 刚入门、想开箱即用 清楚自己要什么都装什么
虚拟机磁盘压力 较大 很小
后续装包 照样要自己 conda install 一样

业内专家指出,Anaconda 预装的包里有相当一部分日常用不到,真正高频的就那十几个,所以如果你的虚拟机磁盘按 40 GB 给,用 Anaconda 没问题;如果给小了,Miniconda 加按需安装反而更清爽,注意 Miniconda 默认走 repo.anaconda.com,安装后同样要配 .condarc 换源。

虚拟机安装 Anaconda 要注意什么

快照、磁盘膨胀和共享文件夹

  • 装完立刻打快照,名字写清楚,anaconda-clean-install”,后面环境搞乱了直接回滚,比 conda 修依赖快十倍。
  • Linux 虚拟机扩容后别忘了扩文件系统,磁盘从 40 GB 改到 80 GB 只是硬件层生效,还要 growpart 加 resize2fs,否则 df -h 看到的还是老容量。
  • 共享文件夹的权限,VirtualBox 共享目录默认属于 vboxsf 组,普通用户读不了,需要 sudo usermod -aG vboxsf $USER 后重新登录,直接把 conda 环境建在共享目录里也不推荐,跨文件系统的符号链接容易出问题。

PATH 冲突与时间漂移

两个隐蔽但高频的坑:

  1. PATH 污染。.bashrc 里同时存在手动加的 export 和 conda init 写的块,conda 的行为会变得难以预测,检查办法是 grep -n anaconda ~/.bashrc,发现有重复的手动 export 就删掉。
  2. 虚拟机挂起后再恢复,SSL 证书报错,典型报错是 CondaSSLError,根因是虚拟机时间漂移导致证书校验失败,解法是开启 VMware Tools 或增强功能包的时间同步,或手动 sudo ntpdate -u ntp.aliyun.com。

日常使用:几个真正高频的操作

conda 命令速查

  • 建环境:conda create -n 名字 python=3.11
  • 激活 / 退出:conda activate 名字 / conda deactivate
  • 看环境:conda env list
  • 看已装包:conda list
  • 导出 / 复现:conda env export > env.yml,换机器 conda env create -f env.yml
  • 删环境:conda remove -n 名字 --all
  • 清缓存:conda clean -a

虚拟环境和虚拟机的区别别搞混

这是新手最容易含糊的地方,虚拟机隔离的是整个操作系统,conda 环境隔离的是 Python 解释器和包目录,两者的关系是包含关系:一台虚拟机里可以有几十个 conda 环境,互不干扰,但它们共用同一个内核和系统库,CUDA 驱动的版本冲突 conda 环境解决不了,那得靠虚拟机层面隔离。

没有图形界面时怎么跑 Jupyter

服务器版 Linux 虚拟机通常不带桌面,启动 Jupyter 后默认不允许远程访问,两种做法:

jupyter notebook --no-browser --ip=0.0.0.0 --port=8888

或者在宿主机用 SSH 端口转发 ssh -L 8888:localhost:8888 用户名@虚拟机IP,浏览器访问 localhost:8888,后者更安全,不用开放端口。

Anaconda 商业使用要不要付费

这个问题容易被忽略,Anaconda Distribution 本身对个人使用免费,但自 2020 年起调整了服务条款,组织规模较大的商业机构使用默认仓库需要付费订阅,很多公司因此转向 conda-forge 社区源或 Miniforge,如果是在公司电脑的虚拟机里搭环境,建议先和 IT 或法务确认一下授权口径,再决定要不要配置 conda-forge,个人学习、教学用途不受影响。

关于虚拟机安装 Anaconda 的常见问答

问:虚拟机里 Anaconda 安装完,命令行还是提示 conda 不是内部或外部命令,怎么办?

先确认是否执行过 conda init 并重新打开终端,Windows 下用 Anaconda Prompt 而不是系统 CMD;Linux 下执行 source ~/.bashrc 后 which conda 看有没有输出,若仍无输出,检查安装路径是否含空格或中文。

问:虚拟机里同时装 Anaconda 和系统自带 Python 会冲突吗?

正常用 conda init 初始化的方式不会,冲突通常来自手动改 PATH、或在系统 Python 的 site-packages 里装过包,判断办法是 which python 和 python -c "import sys; print(sys.prefix)",后者指向 anaconda3 就说明当前用的是 conda 的 Python。

问:虚拟机里装好 Anaconda 后宿主机剪贴板不通、文件传不过去,影响使用吗?

不影响 conda 本身,但影响效率,VMware 装 VMware Tools、VirtualBox 装增强功能包即可解决剪贴板共享;文件传输优先用共享文件夹或 scp,不要用拖拽,大文件拖拽容易中途卡死。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱