news 2026/9/30 1:22:28

Ubuntu 18.04安装Anaconda全流程:从下载到PyCharm集成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 18.04安装Anaconda全流程:从下载到PyCharm集成

写Ubuntu 18.04上装Anaconda这件事,我前前后后折腾过不下十回,从最早跟着教程一步步敲命令,到后来闭着眼都能把环境配好,中间踩过的坑确实不少。这篇文章就把我在Ubuntu 18.04上安装Anaconda的完整过程整理出来,从下载、安装、环境变量配置,到换源、建虚拟环境、接PyCharm,再到各种报错怎么排查,全部讲清楚。不管你是刚接触Linux的新手,还是已经用过一阵子但总在某个环节卡壳,这篇文章应该都能帮你少走弯路。

1. 为什么要在Ubuntu 18.04上装Anaconda:先搞清楚它解决什么问题

1.1 Anaconda到底是什么,和Python有什么关系

很多人第一次听到Anaconda,下意识以为它是个Python的替代品,其实不是。Anaconda是一个Python的发行版,你可以把它理解成一个"全家桶"——它不光自带Python解释器,还预装了conda包管理器、Jupyter Notebook、Spyder,以及numpy、pandas、matplotlib、scipy这些科学计算领域最常见的库。

这里要区分两个容易混淆的概念。Python官方发布的是纯净版的解释器,装完之后啥也没有,需要用pip一个个装包。而Anaconda把生态里最常用的一批包都打包好了,装完就能直接开始写数据分析或者机器学习的代码。更重要的是,它自带的conda不只是一个包管理器,还是一个环境管理器,可以用一行命令创建多个互相隔离的Python环境,彼此之间互不干扰。

在Ubuntu 18.04上,系统本身默认带了Python 3.6。但问题就在这儿——系统自带的Python是给系统工具用的,你贸然往里面pip install一堆包,很容易把系统环境搞乱,甚至导致apt之类的系统命令都崩掉。Anaconda的方案是把所有Python相关的东西都隔离在它自己的目录里,系统Python保持原样,你的开发环境随便折腾,出了问题删掉重来就行。

1.2 在Ubuntu 18.04上装Anaconda的实际场景

Ubuntu 18.04虽然是2018年发布的系统,但直到现在,很多机器学习的课程、开源项目、工业界的部署环境,仍然在用它。比如ROS Melodic版本就是官方绑定Ubuntu 18.04的,做自动驾驶、机器人、SLAM方向的同学,基本绕不开这个系统版本。

在这个系统上装Anaconda,最常见的几个用途:

  • 跑PyTorch、TensorFlow等深度学习框架,需要独立的Python环境来隔离不同版本的依赖
  • 做数据分析、科学计算,利用Anaconda预装的numpy、pandas、scipy等库快速上手
  • 复现论文代码或者开源项目,用conda创建虚拟环境,把项目依赖锁定在特定的Python版本里
  • 配合Jupyter Notebook做交互式编程,Anaconda自带的内核管理非常方便

我个人的经验是,在Ubuntu 18.04上装Anaconda比在Windows上要顺畅得多,不用处理各种路径、权限和杀毒软件的问题,只要注意好几个关键点,基本十几分钟就能搞定。

2. 安装前准备:下载渠道、版本选择和校验

2.1 从哪里下载Anaconda安装包

下载Anaconda主要有两个渠道:官方渠道和国内镜像。

官方网址是https://www.anaconda.com/download,进去之后页面会自动检测你的操作系统,直接就能看到Linux版本的下载按钮。不过说实话,官方服务器在国外,国内网络环境下载速度经常只有几十KB每秒,一个700多MB的安装包可能要下半个小时甚至更久。

所以更推荐的方案是走清华镜像源。清华的Anaconda镜像地址是https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,这个页面会列出所有历史版本的安装包,按文件名倒序排列,最新的版本在页面底部或者需要翻页查找。文件名格式大概是这样的:

Anaconda3-2024.10-1-Linux-x86_64.sh

这个文件名的含义我需要拆解一下:Anaconda3表示这是Python 3.x系列的发行版,2024.10是版本发布日期,Linux-x86_64表示是64位Linux系统用的。在Ubuntu 18.04上,除非你的机器是极其古老的32位架构,否则一律选带x86_64的版本。

2.2 版本选择:最新版还是稳定版

这里有一个很重要的经验:Anaconda的版本更新非常频繁,基本上每半年就出一个新版本。最新版自然有新特性,但如果你是为了跑深度学习框架或者某个特定的项目,反而不一定要追最新。

举个例子,PyTorch官方在某个时间节点可能只对特定版本的Python做了预编译支持,Anaconda自带的新版Python有时候反而不在支持列表里。这种情况下,用conda单独创建虚拟环境装旧版Python(比如3.8、3.9)是最省事的,Anaconda本身的版本影响反而不大。

所以我的建议是:如果你是第一次装,直接选当前最新的稳定版就行,比如Anaconda3-2024.10-1。如果后面遇到兼容性问题,完全可以通过创建虚拟环境来解决,不需要卸载重装。我在Ubuntu 18.04上试过2020年、2022年、2024年等多个版本的Anaconda,安装流程基本没有差别,这套教程适用于所有版本。

2.3 安装前必须做的两件事

下载完安装包之后,我强烈建议你先做两件事,能帮你省掉后面很多麻烦。

第一,检查文件完整性。官方在下载页提供了SHA-256校验值,在Linux终端里用sha256sum命令计算你下载文件的哈希值,和官方给出的值比对。如果一致说明下载过程没有损坏文件,不一致就得重新下载。虽然镜像站的出错的概率很低,但一个损坏的安装脚本会让你在安装过程中出现各种莫名其妙的报错,排查起来非常痛苦。

第二,切换到一个有足够空间的分区。Anaconda安装之后大概会占3-4GB的空间,加上后面创建的虚拟环境和安装的包,轻松超过10GB。Ubuntu默认的home分区一般够用,但如果你当初给系统盘分区分得比较小,建议先看看df -h的输出,确认home目录所在分区有足够的剩余空间。

3. 安装全过程:从bash命令到环境变量

3.1 使用bash命令执行安装脚本

下载完成之后,打开终端,先切换到安装包所在的目录。如果你是用浏览器下载的,通常在~/Downloads目录下,执行:

cd ~/Downloads ls -l Anaconda3-*.sh

确认安装包在那里之后,执行安装脚本。注意要用bash来执行,因为这是一个shell脚本:

bash Anaconda3-2024.10-1-Linux-x86_64.sh

执行之后,脚本会先显示一大段的许可协议,一直按回车键翻页,直到出现Do you accept the license terms?的提示。输入yes然后回车。

接下来脚本会问安装路径,默认是/home/你的用户名/anaconda3。这里我建议直接接受默认路径,因为后续的配置、环境变量设置、以及卸载操作,很多工具和文档都是基于默认路径来写的。如果你强行改成其他路径,虽然也能用,但在配置环境变量和排查问题的时候,所有路径都要跟着改,徒增麻烦。

然后脚本会问Do you wish the installer to initialize Anaconda3 by running conda init?,这里一定要选yes。选yes之后,安装脚本会自动把conda的相关配置写入你的shell配置文件(比如.bashrc),这样新开的终端窗口就能直接使用conda命令了。

3.2 安装完成后验证conda命令是否可用

安装结束后,脚本会提示安装完成。这时候你需要让配置生效——最简单的方法是关闭当前终端重新打开一个,或者执行:

source ~/.bashrc

然后输入conda --version测试一下:

conda --version

正常情况下会输出类似conda 24.x.x的版本号。如果提示command not found,说明conda没有正确写入环境变量,这时候就需要手动配置了,具体方法我放在下一节。

验证conda命令可用的同时,我还会顺手确认一下Python版本:

python --version

注意,这里的python应该指向的是Anaconda自带的Python,输出类似Python 3.12.x。如果你发现输出的是系统自带的Python版本(比如Python 3.6.9),说明在终端里python命令没有被conda接管,这个情况我也会在下面的环境变量部分专门讲。

3.3 手动配置环境变量的两种方法

绝大部分情况下,安装时选了conda init之后环境变量就自动配好了。但还是会遇到手动配置的场景,比如安装时忘了选yes,或者像我见过的一些老教程里推荐的安装方式,根本没有这个选项。

手动配置的方法很简单,编辑~/.bashrc文件:

vim ~/.bashrc

在文件末尾添加以下几行:

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

注意把/home/你的用户名替换成你自己实际的家目录路径。保存退出,然后source ~/.bashrc。

这里有个细节我要特别强调:上面的命令里conda shell.bash hook是conda 4.4及以上版本推荐的标准写法,它不只是把anaconda3/bin加入PATH,还会初始化conda的hook功能,确保进入base环境、切换环境时行为完全正确。而老教程里常见的只写一行export PATH="/home/用户名/anaconda3/bin:$PATH",虽然也能用,但会出现一个问题——终端命令行前面不会显示(base)标识,conda activate命令也没有提示信息,用起来总感觉少了点什么。

3.4 关于base环境自动激活的问题

安装完成之后你会发现,每次打开终端,命令行前面都会出现一个(base)标识,这说明当前已经处于conda的base环境中了。有的新手会以为这是个什么错误,其实不是。

但这里有一个体验问题:base环境是conda默认的环境,里面装着Anaconda全家桶的包。每次打开终端都自动进入base环境,有时候会跟你项目的依赖冲突,而且启动时会稍微慢一点。我自己习惯的做法是关掉自动激活:

conda config --set auto_activate_base false

执行完之后,以后打开终端就不会自动进入base环境了,需要的时候再用conda activate base手动进入。这个设置完全看个人喜好,不影响Anaconda本身的使用。

4. 安装后的必要配置:换源、虚拟环境和PyCharm接入

4.1 配置国内镜像源,解决下载慢的问题

Anaconda装好后,你马上会遇到一个现实问题:用conda安装包的时候,默认下载源是国外的,速度慢得让人抓狂。特别是安装PyTorch、TensorFlow这种几百MB的大包,等个十几分钟是家常便饭。

解决的方案是把conda的源切换到国内镜像。清华、阿里、中科大都有conda的镜像源,我用得比较多的是清华源。在终端里执行:

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 --set show_channel_urls yes

执行完之后,conda的配置文件~/.condarc会被更新。查看一下确认配置生效:

cat ~/.condarc

如果看到channels列表里已经有了清华镜像的地址,说明配置成功。

这里我提醒一下,如果你后续要装PyTorch这种不在默认channels里的包,还需要单独添加PyTorch的channel。而且PyTorch官方建议用conda install pytorch torchvision torchaudio -c pytorch这样的方式安装,-c pytorch会临时指定官方channel,这时候镜像源就帮不上忙了。好在国内有专门做PyTorch wheel镜像的,不过那是另一个话题,这篇文章先不展开。

还有一个很重要的经验:conda的源配置文件如果写错了,conda会用报错来提醒你,最常见的错误是ConfigError: Cannot parse ...。这种情况直接删掉~/.condarc文件恢复默认配置就行,不用怕。

4.2 用conda创建虚拟环境,隔离项目依赖

Anaconda最强大的功能之一就是虚拟环境管理。我见过太多人在base环境里直接pip install各种包,装到最后发现版本冲突,删又删不干净,只能把整个Anaconda卸载重装。

正确的做法是为每个项目创建独立的虚拟环境。创建一个新环境的命令是:

conda create -n myenv python=3.8

这条命令会创建一个名为myenv的新环境,然后在这个环境里安装Python 3.8。注意,创建环境的时候指定Python版本是个好习惯,哪怕你准备用的就是base环境的Python版本,也建议显式指定一下,避免以后环境混乱。

创建好之后,激活这个环境:

conda activate myenv

激活之后,终端命令行前面会从(base)变成(myenv),后面你安装的所有包都会进到这个环境里。退出环境用:

conda deactivate

查看本机有哪些环境:

conda env list

删除一个不再需要的环境:

conda rm -n myenv --all

这里有几个我踩过之后总结出来的经验:

  • 虚拟环境里的Python版本可以跟base不同,比如你创建环境时指定python=3.8,base还是3.12,两者互不影响
  • pip install安装的包是装在当前激活环境里的,如果你在不同的项目环境之间切换,容易出现"我在A环境装了包,换到B环境却import不到"的困惑。解决办法是每次先conda activate再操作
  • 复制环境用conda create -n newenv --clone oldenv,迁移环境用conda env export > environment.yml导出配置,再到另一台机器上conda env create -f environment.yml导入。这套流程在做项目复现、团队协作的时候非常实用

4.3 和PyCharm集成,让IDE直接用conda环境

很多人在Ubuntu上写Python不用命令行,而是用PyCharm。把PyCharm和Anaconda接起来其实很简单,逻辑就一句话:让PyCharm的Project Interpreter指向你想要的conda环境里的Python解释器。

具体操作是:打开PyCharm,进入File -> Settings -> Project -> Python Interpreter,点击右上角的齿轮图标,选择Add。在弹出的窗口里,左边选择Conda Environment,然后有两个选项:

  • Existing environment:使用已有的conda环境,点击右边的路径选择器,找到/home/你的用户名/anaconda3/envs/myenv/bin/python
  • New environment:在PyCharm里直接创建一个新的conda环境

选好之后点击OK,PyCharm就会把这个环境作为当前项目的解释器。这样你在PyCharm里跑代码、安装包,用的都是这个conda虚拟环境。

这里有个常见问题:在PyCharm的终端里输入conda activate提示找不到conda命令。这是因为PyCharm内嵌的终端默认用的不是bash的登录shell,没有加载~/.bashrc。解决办法是在PyCharm的Settings -> Tools -> Terminal里,把Shell path改成/bin/bash,这样PyCharm的终端就会像普通的Ubuntu终端一样初始化了。

5. 常见问题与排查技巧:报错、卸载和路径陷阱

5.1 高频报错的排查思路

我把自己和周围朋友在实际安装过程中遇到的典型问题整理成一张表,方便你对照排查。

问题现象可能原因解决方法
安装时提示Permission denied安装脚本没有执行权限先执行chmod +x Anaconda3-*.sh再安装
安装后conda命令找不到环境变量未配置按本文3.3节手动配置~/.bashrc
打开终端提示CommandNotFoundErrorconda初始化配置被破坏执行conda init bash重新初始化
conda安装包速度极慢默认官方源按4.1节配置国内镜像
conda安装时解析依赖冲突环境太乱或包版本不兼容新建独立虚拟环境,不要都堆在base里
python命令还是系统版本终端未重新加载配置执行source ~/.bashrc或重开终端
PyCharm终端无法用conda内嵌shell未加载bash配置在PyCharm设置中把Terminal改为/bin/bash

这里我挑几个重点展开说一下。

第一个是conda命令找不到的问题。安装脚本明明显示成功了,但conda --version就是报command not found。绝大多数情况下是安装时没选conda init,或者你的shell不是bash而是zsh。如果是zsh,那么配置要写到~/.zshrc里而不是~/.bashrc,方法是一样的。

第二个是python指向混乱的问题。Ubuntu 18.04自带的Python 3.6在/usr/bin/python3,Anaconda的Python在/home/用户名/anaconda3/bin/python。装了conda之后,因为PATH变量里anaconda3/bin排在前面,所以输入python应该优先找到Anaconda的版本。如果发现不是,用which python看看实际指向的路径,再用echo $PATH确认一下anaconda3/bin在不在这条PATH里。如果确实在,但优先级不对,说明有个更早的路径抢在了前面,检查一下~/.bashrc或者系统级的/etc/profile里有没有其他Python相关的配置。

第三个是conda更新后环境变量失效的问题。有一次我执行了conda update conda,更新完之后conda activate突然报错,说找不到conda这个函数。这是因为conda升级时把初始化逻辑改动了,但~/.bashrc里的配置还是旧版的。解决办法也很简单,重新执行一遍conda init bash就好。

5.2 如何彻底卸载Anaconda

装了用了一阵子,想换个版本或者干脆不用了,Anaconda卸载也是个技术活。我在Windows上见过很多人卸载之后留下大片垃圾文件,而Linux上只要按照标准流程走,可以卸载得比较干净。

卸载分两步。第一步,在终端里启用conda环境并执行卸载命令:

conda activate base conda install anaconda-clean anaconda-clean --yes

anaconda-clean会删除Anaconda在当前用户目录下创建的各种配置文件和隐藏目录。注意,这个工具是干净的卸载方式,但如果你当初安装时是用root权限装的,卸载时也需要用sudo。

第二步,删除Anaconda的主目录。直接删掉安装时创建的anaconda3文件夹:

rm -rf ~/anaconda3

然后编辑~/.bashrc,把之前添加的conda初始化配置块删除掉,保存后再执行source ~/.bashrc让配置生效。

如果你只看网上一些教程,可能有人会告诉你"直接rm -rf ~/anaconda3就卸载完了"。这话对了一半,因为主程序确实删干净了,但你在~/.conda、~/.config/conda这些目录下的环境配置、缓存、下载的安装包都还躺在那里。这些残留文件虽然不影响系统运行,但会占掉几个GB的磁盘空间。所以完整的卸载流程还是建议用anaconda-clean先清理配置,再删主目录。

5.3 我在实际安装中碰到的一个特殊情况

最后分享一个比较冷门但在Ubuntu 18.04上真实存在过的坑。有一台机器最初是拿来做网络相关实验的,系统里的Python环境被改得比较乱——有两个不同版本的Python,还有一堆pip装的全局包。我在那台机器上装Anaconda时,安装过程一路正常,但装完以后python命令指向的既不是系统Python也不是Anaconda的Python,而是一个不知名的第三方Python路径。

排查了很久,发现问题是/etc/environment这个系统级别的环境变量配置文件里,被之前的实验脚本改写过了,里面有一条PATH路径指向了某个自定义Python安装目录。因为/etc/environment的优先级高于用户级的~/.bashrc,而Anaconda的配置是写在用户级的,所以用户在.bashrc里的配置永远抢不过它。

这种情况比较罕见,但如果你也遇到python指向诡异的问题,建议去看一下这几个文件:

cat /etc/environment cat /etc/profile cat ~/.bash_profile cat ~/.bashrc

看看有没有异常写入的PATH配置。这个问题也提醒我,不要轻易去改系统级的环境变量,所有的开发环境配置,放在用户级的.bashrc里就够了。

5.4 一条实用小技巧:用conda管理多版本PyTorch

我在同一台Ubuntu 18.04机器上,用Anaconda同时维护了三个PyTorch环境——一个1.13跑旧项目,一个2.0跑新项目,还有一个纯CPU版的用来做日常测试。如果不用conda,单靠Python的pip去管理这三个环境,光是依赖冲突就能把人逼疯。

具体做法其实很简单,就是重复执行两行命令:

conda create -n torch113 python=3.8 conda activate torch113 conda install pytorch==1.13.1 torchvision==0.14.1 -c pytorch

其他两个环境同理,只是改了环境名和版本号。这样三个环境完全隔离,互不干扰,想切哪个就conda activate哪个。我觉得这可能是Anaconda对我日常工作帮助最大的一个功能,强烈建议每一个用Python做开发的人,都养成"一个项目一个虚拟环境"的习惯。

Anaconda在Ubuntu 18.04上的安装和配置,其实流程非常标准,只要把下载、执行安装、配置环境变量这几步走对了,后面基本是一马平川。真正容易出问题的反而是安装完成之后的细节——环境变量是否生效、源是否切换、虚拟环境怎么隔离、报错怎么排查。把这些东西理顺了,Anaconda就会成为你日常开发里一个非常趁手的工具。个人经验是,别追求一步到位装到最新版,也别什么都堆在base环境里,保持环境干净整洁,后面你会发现省下的时间远比你当时花掉的几分钟多。

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

组建小型以太网:从物理连接到连通性验证全指南

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

作者头像 李华
网站建设 2026/9/30 1:22:02

Windows与Ubuntu 20.04双系统安装、GRUB修复与驱动配置

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

作者头像 李华
网站建设 2026/9/30 1:21:39

Edge与Safari同步书签:用iCloud搭建双向同步全攻略

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

作者头像 李华
网站建设 2026/9/30 1:21:33

嵌入式软硬协同:从芯片寄存器到信号完整性的真实能力图谱

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

作者头像 李华
网站建设 2026/9/30 1:21:28

AI商业落地最后一公里:从PPT案例拆解技术方案到行业选型

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

作者头像 李华
网站建设 2026/9/30 1:21:28

Java并发编程:synchronized与Lock锁机制原理与实战选型

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

作者头像 李华