Ubuntu 20.04手动安装Miniconda3:环境变量配置与清华源加速指南 📅 2026/8/26 4:48:20 1. 项目缘起为什么要在Ubuntu上手动配置Miniconda如果你刚接触Linux开发或者从Windows/macOS迁移过来可能会觉得在Ubuntu上装个Python环境直接用系统自带的python3命令不就好了为什么还要大费周章地安装Miniconda甚至去手动配置环境变量和更换软件源这正是很多新手甚至一些有经验的开发者容易忽略的“环境洁癖”和“依赖地狱”问题。Ubuntu 20.04 LTS 默认确实带了Python 3.8。但系统级的Python是操作系统的“基础设施”很多系统工具比如apt包管理器都依赖它。如果你贸然用pip install --user甚至sudo pip install去装各种第三方库版本冲突、权限问题、依赖损坏几乎是必然的结局。我就曾因为升级了系统Python的requests库导致某个系统管理脚本报错排查了半天。Miniconda的核心价值就是为你创建一个完全独立、可任意折腾的Python沙箱环境。你可以在这个沙箱里安装任意版本的Python、任意版本的库而丝毫不会影响系统本身的稳定。那么为什么不直接用Anaconda呢Miniconda是它的最小化版本只包含Conda包管理器和Python本身非常轻量安装包大约50MB。Anaconda则预装了超过150个科学计算包体积庞大约500MB很多你用不到。对于追求效率和纯净环境的开发者Miniconda是更明智的起点。“手动添加环境变量”和“更换清华源”则是让这个沙箱变得高效、好用的两个关键操作。默认安装后Conda命令可能无法直接使用需要你告诉系统去哪里找它这就是环境变量的作用。而默认的软件源服务器在国外下载速度可能只有几十KB/s更换为国内的清华源速度能提升几十倍这是在国内高效开发的必备步骤。接下来我将带你从零开始完成Ubuntu 20.04上Miniconda3的安装、环境变量配置以及换源的全过程并分享一些我踩过坑后才明白的细节和技巧。2. 前期准备下载Miniconda安装脚本与理解其结构在开始安装前我们需要先获取安装脚本。最直接的方式是访问Miniconda的官方文档页面查看最新的安装指南。但这里有个小技巧对于Linux系统我们通常直接在终端里使用wget或curl命令下载避免图形化界面的繁琐。首先打开你的终端快捷键CtrlAltT。我们需要确定下载哪个版本的安装脚本。主要关注两个参数Python的版本和系统架构。Python版本Miniconda安装包会捆绑一个特定版本的Python。例如Miniconda3-py39_...表示捆绑了Python 3.9。我推荐选择与你的项目需求兼容的最新稳定版目前Python 3.9或3.10都是不错的选择生态支持好。本文将以Python 3.9为例。系统架构绝大多数现代电脑都是x86_6464位架构。你可以通过命令uname -m来确认如果输出x86_64就选择对应的64位x86_64安装包。综合以上我们将下载适用于Linux 64位、捆绑Python 3.9的最新版Miniconda安装脚本。你可以通过清华大学开源软件镜像站来下载速度更快。在终端中执行以下命令wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_24.3.0-0-Linux-x86_64.sh注意版本号如24.3.0-0会随时间更新。如果上述链接失效你可以先访问https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/查看最新的文件名然后替换到上面的命令中。下载完成后当前目录下会多出一个名为Miniconda3-py39_24.3.0-0-Linux-x86_64.sh的文件。这是一个Bash Shell脚本它的工作流程是先将自己解压到一个临时目录然后运行其中的安装程序将Conda、Python以及相关的库文件复制到你指定的安装路径默认为~/miniconda3最后会询问你是否要初始化Shell即自动帮你配置环境变量。很多教程会直接让你运行bash Miniconda3-*.sh然后一路回车但我强烈建议先理解并手动指定安装路径尤其是对于多用户服务器或者你希望将环境安装在特定位置如另一个硬盘分区的情况。手动配置环境变量能让你更清晰地掌控整个流程出了问题也知道从哪里排查。3. 执行安装交互式流程与关键选择点剖析现在我们运行这个安装脚本。在终端中输入bash Miniconda3-py39_24.3.0-0-Linux-x86_64.sh安装程序启动后你会看到软件许可协议。按Enter键可以逐行阅读或者直接输入yes并按回车接受协议。接下来是第一个关键选择点Miniconda3 will now be installed into this location: /home/你的用户名/miniconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below默认安装路径是你的家目录下的miniconda3文件夹。对于个人单机使用这通常没问题直接按回车即可。如果你想安装到其他位置比如/opt/miniconda3需要sudo权限或者一个更大的数据盘就在这里输入完整路径。按回车确认后安装程序开始解压和复制文件。这个过程很快通常一两分钟就能完成。安装结束后会出现第二个关键提示Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]这里请务必输入no并按回车这是本教程“手动配置”的核心所在。如果选择yes安装程序会自动修改你的Shell配置文件如~/.bashrc将Conda的路径添加到环境变量PATH中并设置一个所谓的(base)环境。自动初始化虽然方便但有时会带来一些“魔法”般的行为比如每次打开终端都会自动激活base环境可能会干扰某些脚本或工具。手动配置能让你更清楚地知道环境变量是如何生效的也便于后续的维护和清理。安装程序最后会提示Thank you for installing Miniconda3!至此Miniconda3的二进制文件和相关库已经安静地躺在了你指定的安装目录里例如/home/你的用户名/miniconda3。但是你现在在终端里输入conda命令系统会告诉你“命令未找到”。因为系统还不知道这个命令在哪里。下一步我们就来手动建立这个连接。4. 手动配置环境变量让系统找到Conda命令环境变量PATH是系统查找可执行命令的目录列表。当你在终端输入conda系统会从左到右遍历PATH中的每一个目录寻找名为conda的可执行文件。我们的任务就是把Miniconda的bin目录添加到PATH中。Miniconda的可执行文件如conda,python,pip都存放在其安装目录下的bin文件夹里。假设你安装在了默认路径那么这个路径就是/home/你的用户名/miniconda3/bin。我们需要修改当前用户的Shell配置文件。对于Ubuntu默认的Bash Shell这个文件是家目录下的.bashrc注意文件名以点开头是隐藏文件。它会在每次启动新的交互式Bash终端时被自动执行。使用文本编辑器打开.bashrc文件。我推荐使用nano它简单直观nano ~/.bashrc在文件的末尾添加以下两行配置# conda initialize # !! Contents within this block are managed by conda init !! export PATH/home/你的用户名/miniconda3/bin:$PATH # conda initialize 请务必将/home/你的用户名/miniconda3替换成你的实际安装路径。这行命令的作用是将Miniconda的bin目录路径前置到现有的PATH变量之前。这样系统会优先在这个目录里寻找命令。为什么是export PATH新路径:$PATH这种写法确保了新添加的路径具有更高的优先级。如果系统其他地方比如/usr/local/bin也有一个python命令现在系统会优先使用我们Miniconda里的python。这通常是我们期望的行为。保存并退出。在nano编辑器中按CtrlO写入文件回车确认然后按CtrlX退出。让配置立即生效。刚刚修改的.bashrc文件只对新打开的终端窗口生效。为了让当前终端窗口也能识别conda命令我们需要“重新加载”这个配置文件source ~/.bashrc现在在终端中输入conda --version。如果配置正确你应该能看到Conda的版本号例如conda 24.3.0。再输入python --version应该显示的是Miniconda捆绑的Python版本例如Python 3.9.19而不是系统自带的Python 3.8。一个重要的检查运行which python和which conda。这两个命令会告诉你当前终端使用的是哪个路径下的python和conda。它们应该分别指向/home/你的用户名/miniconda3/bin/python和/home/你的用户名/miniconda3/bin/conda。这确认了我们的环境变量配置成功了。5. 配置Conda与Pip的清华源加速包下载环境搭好了但如果你直接尝试用conda install numpy可能会发现下载速度非常慢甚至超时失败。这是因为Conda默认的频道channels服务器在国外。同理Python的pip工具默认也从国外的PyPI服务器下载。将它们的源更换为国内的镜像站是提升效率的关键一步。5.1 配置Conda的清华源Conda的源配置是通过修改用户目录下的.condarc文件实现的。我们可以直接用命令生成一个配置好的文件。首先执行以下命令来添加清华的Conda镜像频道并设置搜索时显示频道URL便于排查问题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这些命令会帮你创建或修改~/.condarc文件。完成后你可以用cat ~/.condarc命令查看其内容应该类似于channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - defaults show_channel_urls: true注意defaults频道被移到了最后。这意味着当你安装包时Conda会优先从清华镜像站搜索如果找不到再回退到默认的官方源。show_channel_urls: true使得conda install时显示包的具体来源非常有用。踩坑提示有些教程会建议完全移除defaults行。我不建议这样做因为某些特殊的、不常见的包可能只在官方频道有。保留它作为后备是更稳妥的做法。5.2 配置Pip的清华源Conda环境里的pip默认依然使用PyPI官方源。我们需要为pip单独配置镜像源。配置pip源有两种主要方式全局配置和仅对当前Conda环境配置。推荐使用“仅对当前环境配置”因为更干净不会影响系统或其他虚拟环境中的pip。在Conda的base环境下执行以下命令创建pip的配置文件# 创建pip配置目录 mkdir -p ~/.pip # 创建并编辑pip配置文件 nano ~/.pip/pip.conf在打开的nano编辑器中输入以下内容[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cnindex-url指定镜像站地址。trusted-host告诉pip信任这个主机否则在使用HTTPS时可能会报信任错误。保存 (CtrlO,Enter) 并退出 (CtrlX)。现在无论是使用conda install还是pip install下载速度都应该得到质的飞跃。你可以通过安装一个小包如conda install -y flask来测试速度。6. Conda环境管理实战创建、使用与切换独立环境Miniconda安装和源配置完成后base环境已经可用。但最佳实践是永远不要在base环境里安装项目依赖。Base环境应该保持尽可能的干净仅用于管理其他虚拟环境。你应该为每一个独立的项目创建一个专属的Conda环境。6.1 创建新环境假设你要开始一个名为my_project的新项目需要Python 3.9并预安装NumPy和Pandas。命令如下conda create -n my_project python3.9 numpy pandas-n my_project: 指定新环境的名称为my_project。python3.9: 指定环境中Python的版本。Conda会自动解决依赖并安装。numpy pandas: 在创建环境的同时安装这些包。执行命令后Conda会解析依赖关系并给出一个将要安装的包列表询问你是否继续 (Proceed ([y]/n)?)输入y回车即可。6.2 激活与使用环境环境创建好后需要“激活”它才能使用。conda activate my_project激活后你的命令行提示符通常会发生变化前面会显示环境名(my_project)。此时你运行的python、pip命令都只在这个隔离的环境内生效。你可以随意安装、升级、卸载包而不会影响base环境或其他环境。在环境中安装新包使用conda install或pip install# 使用conda安装 (推荐能更好地处理Conda仓库里的包依赖) conda install scikit-learn matplotlib # 使用pip安装 (当某些包只在PyPI上时使用) pip install requests beautifulsoup46.3 退出与切换环境要退出当前环境回到base环境conda deactivate要切换到另一个已存在的环境例如名为tf_env的环境conda activate tf_env6.4 管理环境查看、导出与移除列出所有环境conda env list。星号*表示当前激活的环境。导出环境配置用于复现或分享conda env export environment.yml。这会生成一个YAML文件记录了所有包的精确版本。根据YAML文件创建环境conda env create -f environment.yml。移除一个环境conda env remove -n my_project。遵循“一个项目一个环境”的原则能彻底解决包版本冲突问题让项目依赖清晰可管理。7. 常见问题排查与进阶技巧即使按照步骤操作你也可能会遇到一些问题。这里汇总了一些我遇到过的典型情况及其解决方案。7.1 环境变量配置后conda命令仍不可用症状执行source ~/.bashrc后输入conda仍提示“未找到命令”。排查步骤检查路径echo $PATH查看输出的路径列表中是否包含你的Miniconda的bin目录如/home/user/miniconda3/bin。如果没有说明.bashrc文件修改未生效或修改有误。检查.bashrc文件cat ~/.bashrc | tail -10查看最后几行确认添加的export PATH...行是否正确路径是否存在。检查拼写和权限确认Miniconda的bin目录下是否有conda可执行文件 (ls -l /home/user/miniconda3/bin/conda)。确保你有该文件的执行权限。使用绝对路径测试直接用绝对路径运行/home/user/miniconda3/bin/conda --version。如果能运行则证明是环境变量问题如果不能则可能是安装不完整。7.2 Conda换源后安装包速度依然慢或失败症状配置了清华源但conda install还是很慢或者提示“HTTP 000”等连接错误。排查与解决检查.condarc文件cat ~/.condarc。确认channels顺序正确且URL是https://mirrors.tuna.tsinghua.edu.cn/...。有时网络问题会导致使用http而非https可以尝试将URL中的https改为http。清除索引缓存Conda会缓存包的索引信息有时缓存过期会导致问题。运行conda clean -i清除索引缓存然后重试。临时使用其他国内源除了清华源还有中科大源、阿里云源等。可以临时替换频道试试。例如移除现有配置后添加中科大源conda config --remove-key channels conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/网络代理问题如果你处在公司内网或使用了网络代理可能需要为Conda配置代理。可以设置环境变量export http_proxyhttp://你的代理地址:端口 export https_proxyhttp://你的代理地址:端口请注意此部分仅作技术可能性说明具体代理配置需根据合法合规的网络环境进行。7.3 误操作或清理Miniconda如果你想把Miniconda完全从系统中移除手动安装的方式让清理变得非常清晰删除安装目录rm -rf ~/miniconda3请替换为你的实际安装路径。从.bashrc中移除环境变量用编辑器打开~/.bashrc删除之前添加的与conda相关的export PATH...那几行。删除Conda配置文件rm -rf ~/.condarc ~/.conda ~/.continuum。重新加载Shellsource ~/.bashrc或直接新开一个终端窗口。7.4 进阶技巧优化Shell提示符默认激活Conda环境后提示符会变成(环境名) 用户名主机名:~$。如果你觉得太长可以修改Conda在提示符中的显示方式。编辑~/.condarc添加env_prompt: ‘({name}) ‘这样提示符就会缩短为(环境名) $更加简洁。另一个技巧是禁用“自动激活base环境”。虽然我们手动配置没有让安装程序初始化但如果你未来某天运行了conda init它可能会修改你的Shell配置使得每次打开终端都自动进入base环境。如果你不喜欢这样可以运行conda config --set auto_activate_base false来禁用它。之后需要手动conda activate base才能进入。