第一次接触AI开发时,我被各种复杂的依赖关系搞得焦头烂额。直到发现了Miniconda这个神器,才真正体会到什么叫"开箱即用"。相比完整的Anaconda,Miniconda更加轻量(安装包只有50MB左右),但完全能满足AI开发的需求。它最大的优势是提供了conda这个强大的环境管理工具,可以轻松创建隔离的Python环境,避免不同项目间的依赖冲突。
在Ubuntu虚拟机中使用Miniconda特别合适。虚拟机本身就提供了环境隔离,再加上conda的环境管理,相当于双重保险。我遇到过很多次因为系统Python被污染导致的问题,现在都会在全新的Ubuntu虚拟机中先用Miniconda创建干净的环境。实测下来,从零开始搭建一个包含PyTorch和TensorFlow的开发环境,用这种方法只需要15分钟。
建议使用VMware或VirtualBox创建Ubuntu 20.04 LTS的虚拟机。这个版本长期支持,社区资源丰富。分配资源时,我一般会给4GB内存和50GB硬盘空间,这样跑深度学习模型时不会太卡。安装系统时记得勾选"安装OpenSSH服务器",方便后续远程连接。
安装完成后,首先更新系统:
bash复制sudo apt update && sudo apt upgrade -y
然后安装一些基础工具:
bash复制sudo apt install -y wget curl git vim build-essential
在国内使用conda时,默认源速度很慢。我们可以预先配置好系统代理(如果有的话),或者直接使用国内镜像源。我习惯先测试网络连接质量:
bash复制ping -c 4 mirrors.tuna.tsinghua.edu.cn
如果延迟较高,可以尝试阿里云或中科大的镜像。这个步骤虽然简单,但能节省大量后续安装时间。
到Miniconda官网查看最新版本,通常建议选择Python 3.9版本的安装包。在终端执行:
bash复制wget https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-Linux-x86_64.sh
下载完成后,先验证文件完整性:
bash复制sha256sum Miniconda3-py39_23.3.1-0-Linux-x86_64.sh
对比官网提供的校验值,确保文件没有损坏。
给安装脚本添加执行权限:
bash复制chmod +x Miniconda3-py39_23.3.1-0-Linux-x86_64.sh
然后运行安装程序:
bash复制./Miniconda3-py39_23.3.1-0-Linux-x86_64.sh
安装过程中会询问安装路径,我一般直接按回车使用默认的~/miniconda3。最后一步询问是否初始化conda,选择"yes"会让conda命令自动加入环境变量。
重新打开终端,输入:
bash复制conda --version
如果显示版本号说明安装成功。还可以查看基础环境:
bash复制conda list
conda的配置文件在~/.condarc。我们可以直接用vim编辑:
bash复制vim ~/.condarc
写入以下内容(以清华源为例):
yaml复制channels:
- defaults
show_channel_urls: true
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
保存后,清理并更新索引:
bash复制conda clean -i
conda update conda
现在可以测试下安装numpy的速度:
bash复制conda install numpy -y
正常情况下应该能看到下载速度明显提升。如果某个源不稳定,可以尝试替换为阿里云镜像(mirrors.aliyun.com)或中科大镜像(mirrors.ustc.edu.cn)。
我习惯为不同类型的项目创建独立环境。比如创建一个包含Python 3.8的环境:
bash复制conda create -n ai_env python=3.8 -y
激活环境:
bash复制conda activate ai_env
现在可以安装常用的AI开发包了。以PyTorch为例:
bash复制conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
安装TensorFlow:
bash复制conda install tensorflow-gpu -y
还有科学计算三件套:
bash复制conda install numpy pandas matplotlib -y
安装完成后,可以启动Python验证GPU是否可用:
python复制import torch
print(torch.cuda.is_available())
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
如果显示True和GPU设备列表,说明环境配置正确。
Jupyter Notebook是必备工具:
bash复制conda install jupyter -y
启动notebook:
bash复制jupyter notebook --ip=0.0.0.0 --no-browser
还可以安装代码格式化工具:
bash复制conda install black flake8 -y
conda可以导出环境配置:
bash复制conda env export > environment.yml
恢复环境时:
bash复制conda env create -f environment.yml
conda会占用不少空间,定期清理很有必要:
bash复制conda clean --all
如果遇到conda activate无效,可能是shell没有初始化。可以尝试:
bash复制source ~/miniconda3/etc/profile.d/conda.sh
遇到依赖冲突时,可以创建全新的环境:
bash复制conda create -n fresh_env --clone base
不同框架对CUDA版本要求不同。可以通过conda指定版本:
bash复制conda install cudatoolkit=11.3 -y
在真实项目中,我通常会创建多个环境分别用于开发、测试和生产。conda的环境管理功能让这变得非常简单。比如开发环境可以安装所有调试工具,而生产环境只保留必要依赖。
一个典型的AI项目环境配置流程是:
这种工作流确保了开发环境的一致性,避免了"在我机器上能跑"的问题。