ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

深度学习环境搭建指南:Anaconda、PyTorch与PyCharm三件套从零配置

深度学习环境搭建指南:Anaconda、PyTorch与PyCharm三件套从零配置 刚接触深度学习或者准备开始跑 PyTorch 的同学十有八九都卡在了第一步装环境。明明照着教程一步步点结果 Anaconda 装完不知道干嘛PyTorch 装完 import 报错PyCharm 里解释器一片红最后心态直接爆炸。这篇文章就把 Anaconda、PyTorch、PyCharm 这三件套从头到尾串起来讲清楚。不光是给你命令让你复制粘贴还把每一步“为什么这么干”说透你跟着走完一遍之后自己换电脑、换项目、搭新环境都不会再慌。适合刚入门 Python、准备做深度学习/机器学习方向的同学参考也适合被各种环境问题折腾到怀疑人生的朋友重新理一遍思路。1. 三件套的分工与安装顺序先盘清楚再动手很多人装环境失败不是因为哪一步点错了而是压根没弄明白这三个软件各管什么、谁先谁后。磨刀不误砍柴工先把思路理顺。1.1 三个软件各自的角色定位把 Anaconda、PyTorch、PyCharm 这三者放到一起用生活里的例子类比就很好理解。Anaconda 是水电煤这类基础设施它自带 Python 解释器还附带了一整套科学计算常用的包更关键的是它能帮你创建相互隔离的“小房间”也就是虚拟环境每个项目独占一套包版本互不打架。PyTorch 是煤气灶本身它是在 Python 基础上的一个深度学习计算库负责张量运算、自动求导、构建神经网络这些实际干活的事。PyCharm 则是厨房的管理系统一个集成开发环境帮你写代码、自动补全、断点调试、管理文件。没有 AnacondaPython 和包管理会变成一场噩梦没有 PyTorch深度学习的一切都无从谈起没有 PyCharm你就只能在命令行和记事本之间来回折腾效率极低。1.2 为什么必须按这个顺序装安装顺序是有讲究的。Anaconda 自带了 Python 解释器和 conda 包管理器所以它必须第一个装先有基础设施才能在上面盖房子。PyTorch 的运行依赖于 Python 环境它安装时会识别当前激活的环境并往里面写文件所以必须等你 Python 环境存在且干净的情况下再装。PyCharm 是最后登场的管理工具它本身不包含 Python而是通过配置的方式“认领”系统里已有的解释器。我见过不少同学反着来先把 PyCharm 装好再用它去“新建”项目这时如果系统里没有可用的 Python 解释器PyCharm 要么让你指定一个不存在的路径要么自动下载一个与 Anaconda 毫无关联的干净 Python之后装 PyTorch 时常常出现各种版本错位。按正确顺序走能避开这条弯路。2. Anaconda 的下载与安装细节Anaconda 的下载安装本身不难一顿下一步操作就行但有几个细节决定你后面省不省心。2.1 下载版本与 Python 版本的关系打开 Anaconda 官网或者国内镜像站你会看到两个选择图形化界面的安装包和命令行版的 Miniconda。新手建议直接上 Anaconda 完整版因为它预装了几百个数据科学常用包省去不少单独安装的麻烦。如果你硬盘空间紧张或者你很清楚自己用不到 Jupyter、Spyder、Pandas 这些预装内容再考虑体积小得多的 Miniconda。Anaconda 新版默认捆绑的 Python 已经比较新比如当前版本往往自带 Python 3.11 或更高。对于 PyTorch 来说大多数稳定版本都能支持这些 Python 版本但如果你之后要跑较老的开源项目可能会遇到 “requires-python3.8,3.10” 之类的限制。这时候 Anaconda 的优势就体现出来了——它允许你在同一个电脑上创建多个 Python 版本完全不同的环境各玩各的不受系统级 Python 版本约束。2.2 Windows 安装时的关键勾选项在 Windows 上安装 Anaconda 时有两个选项需要认真对待。一个是是否把 conda 加入 PATH 环境变量有人建议不勾选因为怕跟系统里已有的 Python 冲突。但如果你的电脑是比较干净的状态没有预装过乱七八糟的 Python建议还是勾上这样之后在任意终端里都能直接用 conda 命令操作直观很多。如果你不确定选择不勾选也问题不大用 Anaconda Prompt 终端也能干所有事只是我嫌它每次都要专门打开麻烦。另一个选项是是否将 Anaconda 注册为默认 Python建议勾上。这样很多依赖 Python 的软件比如某些编辑器插件会自动找到 Anaconda 的 Python 解释器省去手动指定路径的环节。安装完成后按WinR输入cmd打开命令行执行conda --version python --version如果两个都有输出说明安装成功。如果提示“不是内部或外部命令”基本是 PATH 没配上需要到系统环境变量里手动把 Anaconda 的安装目录以及其下的Scripts子目录加进去。2.3 国内镜像源配置别让下载卡在小水管Anaconda 默认软件源在国外速度经常感人。装完第一件事就是切换成国内镜像。国内可用的镜像源有不少我用的是清华大学开源软件镜像站稳定性一直不错。在命令行里依次执行下面的命令就把 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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --set show_channel_urls yes加完后可以用conda config --show channels查看当前源列表确认生效。这里有一个值得留意的细节第三行是 PyTorch 的专属频道很多教程里没有它导致之后用 conda 安装 PyTorch 时找不到对应包或者只能用到旧版本。加上这个频道后conda 版的 PyTorch 安装基本能畅通无阻。2.4 创建虚拟环境给你的每个项目一个独立房间Anaconda 最大的价值就在虚拟环境。为什么所有深度学习教程都强调这一步因为不同项目经常对包版本有不同要求老项目要 TensorFlow 1.x新项目要 PyTorch 2.x如果全装在一个环境里依赖冲突能把人逼疯。虚拟环境就是一个个小盒子各装各的互不干扰。创建环境的方式很简单在命令行里执行conda create -n pytorch python3.11这行命令的意思是创建一个名为pytorch的虚拟环境里面安装 Python 3.11。激活它conda activate pytorch后面所有关于 PyTorch 的安装都在这环境下进行。我习惯于每个大项目单独建一个环境名字起得有意义一点比如目标是图像分类的就叫cv_classify目标是 NLP 的就叫nlp这样环境一多也不乱套。注意不要养成“什么包都往 base 环境里装”的习惯。base 是 Anaconda 的老家一旦装坏了整个 Anaconda 都很容易崩重装的成本比重新建一个环境高得多。3. PyTorch 的安装与验证PyTorch 是这台戏的主角。安装它的核心逻辑就四个字版本匹配。下载慢、装不上、跑不起来多半都是版本匹配的问题。3.1 先想清楚CPU 版还是 GPU 版这是安装前第一个必须做决定的事而且很多人没搞清楚就装后面才发现自己白白装了个 CPU 版训练速度慢得像蜗牛。想用 GPU 训练你需要同时满足三个条件有块 NVIDIA 的显卡装了对应的显卡驱动以及 PyTorch 版本和驱动支持的 CUDA 版本匹配。如果满足果断选 GPU 版尤其是跑卷积神经网络或 Transformer 这类模型CPU 和 GPU 的速度差距是几十倍起步的。如果你用的是苹果 M 系列芯片的 Mac或者电脑是集显的轻薄本那就老老实实装 CPU 版也能跑实验只是别指望它能训练大模型。下表是快速选型参考硬件条件建议安装的 PyTorch 版本备注NVIDIA 显卡 已装驱动对应 CUDA 版本的 GPU 版训练速度最快推荐无 NVIDIA 显卡 / 苹果 M 系列芯片CPU 版仅适合跑小规模代码跑大模型基本没戏云端 GPU 服务器按服务器驱动选定 GPU 版一般用云厂商提供的实例镜像驱动已装好3.2 GPU 版的关键确认你的 CUDA 版本选 GPU 版时最让人头疼的就是 CUDA。很多人搞混一个概念NVIDIA 驱动自带的 CUDA 和 PyTorch 运行所需的 CUDA Toolkit 并不是一回事。PyTorch 组件内部集成了需要的 CUDA 运行库你只需要保证显卡驱动支持的 CUDA 版本不低于 PyTorch 编译时的版本即可。实际操作中怎么看打开命令行执行nvidia-smi输出内容的右上角有一行CUDA Version比如 12.6。这个表示当前驱动最高能兼容到 CUDA 12.6。那你就去 PyTorch 官网挑一个 CUDA 版本不大于 12.6 的安装命令。比如官网有cu118、cu121、cu124等挑cu121或cu124都行只要不超过驱动支持的上限。这里有个很常见的误区看到nvidia-smi显示 12.6就以为必须装 PyTorch 的 cu126 版本其实没这回事。PyTorch 的 cuXXX 表示它自己捆绑的 CUDA 工具包版本只要它要求的版本不比你驱动支持的最高版本高就能正常跑。换句话说驱动是“上限”PyTorch 是“下限要求”下限小于等于上限就兼容。注意如果没有安装 NVIDIA 驱动哪怕显卡再好nvidia-smi也会提示找不到命令这时先去 NVIDIA 官网下载并安装对应显卡驱动再回来做这一步。3.3 用 conda 还是 pip 安装我的选择标准这是一个老生常谈的问题两边各有拥趸。我的建议是PyTorch 官网首页给的 pip 命令优先。原因很简单这几年 PyTorch 官方对 pip 版的支持和更新最及时用pip install torch出来的版本往往是最新的稳定版。而 conda 虽然依赖解析做得好但 PyTorch 相关的包经常要从 conda 的 pytorch 频道拉取某些地区源更新会滞后加上 conda 解析依赖时特别慢装一次等十分钟很常见。官网首页的安装命令长这样根据你选择的配置自动生成pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121这里面有三个包torch是主库torchvision是图像处理和数据集的辅助库torchaudio是音频处理库。如果只是入门至少装前两个涉及语音或音频再装torchaudio。在国内网络环境下直接执行官网命令有可能还是偏慢因为默认要从 download.pytorch.org 拉取。更稳的方案是把--index-url换成国内 PyPI 镜像比如阿里云镜像pip3 install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/但这样装到的可能是 CPU-only 版本脚本无法判断你要 GPU 版。所以更靠谱的方式是先用官网命令装完再运行验证代码。如果发现是 CPU 版且你需要 GPU那就直接上国内镜像里的指定版本。我的习惯是先用官网命令试一次如果实在太慢或老是超时再改用下面的命令从阿里云拉取指定的 GPU 版本pip3 install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/安装完了运行这一段验证python -c import torch; print(torch version:, torch.__version__); print(cuda available:, torch.cuda.is_available()); print(cuda version:, torch.version.cuda)如果cuda available输出True恭喜你GPU 版装好了。如果输出False但机器明明有 NVIDIA 显卡那基本是版本匹配问题按上面的流程再排查一遍。3.4 conda 方式安装的一个补充如果你所在网络环境 pip 实在不顺畅或者你更习惯一套 conda 命令全搞定也可以走 conda 路线conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia成功的关键在于-c nvidia这个频道它包含了 CUDA 相关的运行库不加它经常装出来一个半残的环境。另外如果已经在 2.3 节配置了清华镜像的 pytorch 频道conda 安装速度还可以接受不至于等得人想放弃。4. PyCharm 的安装与项目环境配置PyTorch 装好了最后一个环节是把开发环境理顺。PyCharm 在这里扮演的角色是提高写代码效率的“操作台”。4.1 社区版还是专业版怎么选PyCharm 有两个大版本社区版Community和专业版Professional。社区版免费开源对纯 Python 开发来说完全够用专业版多了 Web 开发框架支持、数据库管理、远程部署等高级功能面向全栈开发场景。很多教程喜欢教大家“激活”专业版但这里明确劝一句有条件就支持正版JetBrains 对学生和教师提供免费的教育授权官网申请就行。如果只是自己学习 Python 和深度学习社区版足够带着你跑完绝大部分实验完全没必要折腾各种破解手段安全性也更放心。4.2 新建项目时如何正确指定解释器打开 PyCharm新建项目时有一个关键操作选择解释器。这一步很多人会忽略默认用 PyCharm 自己创建的 venv 虚拟环境结果你辛辛苦苦在 conda 里装的 PyTorch 根本不会被这个项目读到import torch直接红字报错。正确的做法是新建项目时选择“Previously configured interpreter”然后点 Add Interpreter选 Conda EnvironmentUse existing路径选择你之前建的pytorch环境里的python.exe。在 Windows 上这个路径通常在C:\Users\你的用户名\anaconda3\envs\pytorch\python.exe选好后PyCharm 会自动帮你识别环境名并列出环境里已有的包。在项目里写一行import torch测试一下如果没有红色波浪线说明联动成功了。4.3 配置完成后的开发习惯环境配置好了之后怎么用才是关键。在 PyCharm 底部有个Terminal标签页它默认激活的项目解释器可能不是 conda 环境。要养成每次先在终端里手动执行conda activate pytorch的习惯然后再跑pip install之类的命令确保装的包进的是 conda 环境而不是默认的某个 Python 环境。遇到新包时我建议多在终端里用pip install 包名来装而不是在 PyCharm 的设置界面里点击加号。原因终端里能看到安装日志和报错信息出了问题好排查。GUI 安装时如果因为网络超时报错或者依赖冲突报错提示往往很简略新手根本无从下手。4.4 微软 VC 14.0 报错的解决思路Windows 下装 PyTorch或者装很多编译型 Python 包时经常看到一条报错大意是要求安装 Microsoft Visual C 14.0 以上版本否则某些包的安装无法继续。这不是 Python 的问题而是很多包依赖了 C 编译环境。解决方式不复杂去微软官网下载“Microsoft C Build Tools”安装时勾选“使用 C 的桌面开发”组件安装完重启电脑或者至少重新打开终端再回头装 PyTorch 或其它报错包基本就通畅了。很多教程忽略了这个前置依赖导致新手卡在第一步莫名其妙。建议在装三件套之前就先把这个装好免得后面反复踩坑。5. 常见问题排查与实用技巧环境装好后日常使用中还是会遇到各种小毛病。这里把最高频的几个坑汇总一下对照着排查能省很多时间。5.1 高频问题速查表现象可能原因解决办法conda命令找不到PATH 环境变量未配置手动添加 Anaconda 安装目录及 Scripts 目录到系统 PATH重开终端pip install下载速度极慢未走镜像源执行pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/import torch报错DLL load failedPyTorch 运行时依赖缺失或版本与驱动匹配问题重装 PyTorch确认cu版本与驱动兼容升级 VC 运行库torch.cuda.is_available()返回 False显卡驱动缺失、版本不匹配或装了 CPU 版用nvidia-smi确认驱动按官网匹配规则重选版本安装PyCharm 中import torch依然红名项目解释器选错没有指向 conda 环境项目设置里重新配置 Conda Environment选择 existing 环境创建虚拟环境时网络超时conda 源为默认海外源用conda config --add channels添加清华/阿里镜像后重试安装 PyTorch 提示包版本冲突conda 源缺少需要的频道添加https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/频道这张表我建议你截图存一份之后遇到的问题大概率就在里面。5.2 换电脑或迁移环境时怎么把配置一口气带走环境搭好后再换电脑不要傻兮兮地把每个包重新装一遍。conda 提供了环境导出功能在旧机器的命令行里执行conda activate pytorch conda env export environment.yml把生成的environment.yml文件带到新电脑上执行conda env create -f environment.yml新环境会自动还原出来。不过我提醒一句conda env export会记录包的原生构建信息换到不同操作系统上比如从 Windows 迁移到 Linux个别包可能对不上这时可以把导出命令改成conda env export --from-history只保留你用命令手动安装过的包其余让 conda 自动解析跨平台成功率更高。5.3 环境管理的几条个人经验用久了你会发现环境折腾的尽头往往是简单。我自己现在固定遵守三条纪律基本没再被环境问题坑过。第一每个项目一个独立环境名字用项目名不要图省事全塞在 base 里。第二装包前先激活环境用conda activate确认终端前缀已经变成环境名再执行安装命令。第三不要轻易更新环境里的大版本尤其是 PyTorch 这种重依赖框架一旦跨大版本升级一堆代码可能面临 API 变化与其升级不如新建一个环境测完再说。另外有一点经验觉得特别值得分享在 Windows 上安装 Anaconda 时如果安装过程中杀毒软件弹窗拦截最好选择“允许”否则某些关键配置文件可能被静默隔离导致安装后 conda 一直报异常。再有就是 Anaconda 安装目录尽量不要放在带空格或中文字符的路径下比如D:\Anaconda就好路径太花哨容易让一些老旧的包解析时出幺蛾子。6. 最后再聊聊我从实践中悟到的一点东西这几年的安装配置经验告诉我环境搭建这件事90% 的问题不是代码问题而是“版本匹配”问题。显卡驱动的 CUDA 版本、PyTorch 的 cu 版本、Python 版本、操作系统位数每一项都必须对得上少一个环节都可能跑不起来。所以装环境时别急着一路下一步。每装完一个组件就回头验证一下Anaconda 装完验证 conda 和 pythonPyTorch 装完验证 torch 版本和 CUDAPyCharm 配置完验证解释器和包导入。每一步踩实了再走下一步整个过程反而比慌慌张张按完要快得多。按照这套流程走下来你的电脑上应该已经有了一个能正常跑 PyTorch 的基础环境。接下来就可以拿着官方教程跑一个简单的张量操作或训练一个小型网络试试水环境没问题了才算是真正踏进了深度学习的大门。
返回列表