
1. 为什么认准Anaconda PyTorch PyCharm这套组合做深度学习这件事最劝退人的往往不是模型本身而是第一步装环境。我见过太多人卡在import torch报错、conda命令找不到、装了GPU版却只能用CPU跑这些坑里一折腾就是两三天热情全被磨没了。PyTorch、Anaconda、PyCharm这三样东西恰好组成了一套对新手最友好、对老手也足够顺手的开发环境Anaconda负责管理Python版本和第三方库PyTorch是深度学习框架本体PyCharm则是写代码和调试的图形化界面。三者各管一摊配合起来非常顺滑。这篇教程我尽量写得细一些从Anaconda下载、虚拟环境创建、PyTorch的CPU/GPU版本选择到PyCharm里把解释器指对整个过程全部覆盖。每一步都会解释“为什么要这么做”而不只是丢给你一串命令。照着走一遍你就能得到一个干干净净、不会把系统Python搞乱、随时可以新建环境做实验的深度学习工作台。这个方案适合谁刚接触深度学习的大学生、想复现GitHub项目的工程师、以及被各种环境依赖搞到头大的自学者。就算你完全没用过命令行只要按顺序操作也能跑通。1.1 三件套各自扮演的角色先形象一点理解这三样东西。把深度学习开发比作做饭PyTorch是锅和灶决定你能做出什么菜Anaconda是食材保鲜柜把不同菜谱需要的食材分门别类存放互不串味PyCharm则是你的料理台所有切配、翻炒、摆盘的动作都在上面完成。具体到技术层面Anaconda一个Python发行版自带conda包管理器。它的核心价值是“虚拟环境”。你可以创建多个互不干扰的Python环境一个环境用Python 3.8 PyTorch 1.13另一个用Python 3.11 PyTorch 2.4互不影响。这能解决深度学习项目里最常见的依赖冲突问题。PyTorchFacebook开源的深度学习框架目前学术界和工业界使用率都非常高。它支持动态计算图调试起来直观生态也非常完善像HuggingFace Transformers、Stable Diffusion这些主流项目底层都是PyTorch。PyCharmJetBrains出品的Python IDE。提供代码补全、断点调试、版本控制集成、SSH远程开发等功能。社区版免费日常深度学习开发完全够用。1.2 虚拟环境到底解决了什么痛点没有虚拟环境的时候所有Python包都装在系统全局环境里。今天装A项目要用的numpy 1.24明天B项目需要numpy 1.19一升级就把A项目搞坏了。这就是传说中的“环境地狱”。Anaconda的虚拟环境相当于给每个项目单独开了一个小房间房间里的Python解释器和所有第三方库都是独立的。A项目住101房间B项目住102房间两边各装各的numpy谁也不影响谁。用conda创建虚拟环境本质就是指定一个目录存放该环境的所有文件。激活环境后终端里的python、pip、conda命令都会指向这个目录下的版本。这也是为什么后文我们会反复强调“先激活环境再装包”否则很容易把包装到base环境甚至系统环境里然后一脸懵地发现PyCharm里还是导入失败。2. Anaconda安装与基础配置2.1 下载安装包官网下载和镜像站怎么选Anaconda的官方下载地址是anaconda.com/download进入页面后直接能看见对应操作系统的安装包。Windows选64-Bit Graphical InstallermacOS有Intel芯片和Apple Silicon两个版本Linux一般是.sh安装脚本。这里有一个实际体验上的差别官网服务器在国外下载速度偶尔会让人崩溃。如果下载Anaconda安装包时速度只有几十KB/s我一般建议直接换国内镜像源下载。清华大学的开源软件镜像站mirrors.tuna.tsinghua.edu.cn/anaconda/archive/保留了所有历史版本找到最新版下载即可速度通常能到几MB/s。版本选择上我建议选最新的稳定版不用刻意追求旧版本。Anaconda的Python版本默认会跟随最新稳定版而后文我们会通过虚拟环境指定Python版本所以安装包本身的Python版本并不关键。2.2 安装过程中的三个关键选项Windows安装过程有几个选项需要特别注意选错后面会多出不少麻烦。第一个关键选项是安装路径。默认安装到C:\Users\你的用户名\anaconda3建议保持默认不要手动改成带中文或空格的路径部分工具对特殊字符路径支持不好后续容易出诡异问题。第二个关键选项是“Add Anaconda3 to my PATH environment variable”。新版安装器默认不勾选这项还会给一句红色警告。我个人的建议是如果你只打算用Anaconda Prompt操作那就保持不勾选如果你希望能在Windows Terminal或CMD里直接使用conda命令可以勾选。两种方式都能用但如果不勾选遇到问题时排查思路更清晰。这篇教程里我会带大家在Anaconda Prompt里操作所以不勾选也可以。第三个关键选项是“Register Anaconda3 as my default Python 3.x”。如果你电脑上没有预装其他Python版本可以勾选如果已经装了官方Python建议取消勾选避免默认解释器被替换导致原来项目出问题。macOS和Linux用户一般是双击.pkg或执行bash Anaconda.sh一路yes即可。Linux安装完成后记得source ~/.bashrc让环境变量生效。2.3 换国内镜像源让conda下载不再慢吞吞Anaconda装好后先把conda默认源换成国内镜像这一步能明显减少后续安装PyTorch时的等待时间。原因是conda默认从anaconda.org拉取包这个服务在国外高峰期速度非常慢而国内镜像站有很多缓存副本速度快得多。执行方式是在终端Windows用Anaconda Prompt里依次输入以下命令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下载包时会优先从清华镜像拉取。如果你后面安装PyTorch时打算用pip也可以顺手把pip源换成清华PyPI镜像pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple换源之后要注意一个小问题如果某些冷门包在清华镜像上没有conda会自动回退到官方源只是速度慢一些不影响使用。2.4 验证Anaconda是否安装成功安装完成后验证一下是否正常工作。打开终端或Anaconda Prompt输入conda --version能看到类似conda 24.x.x的输出就说明安装成功。再输入python --version这里的python版本取决于当前激活的环境。默认base环境会显示Anaconda自带的Python版本。最后顺手更新一下conda本身conda update conda2.5 创建PyTorch专用虚拟环境我强烈建议不要直接在base环境里装PyTorch而是单独建一个环境。原因很简单base环境是Anaconda的核心环境装太多包容易导致系统混乱而且很多教程默认操作base出问题后难以恢复。创建虚拟环境的命令格式是conda create -n pytorch python3.11其中pytorch是环境名称可以随意改python3.11是环境内的Python版本。PyTorch 2.x对Python 3.11支持得很好这里以3.11为例。执行后conda会提示将要安装哪些包输入y确认等待创建完成。激活这个环境使用的是conda activate pytorch激活后命令行前面会出现(pytorch)字样表示当前已经在虚拟环境中。后续所有PyTorch相关包的安装都要确保在这个状态下进行。如果你安装完发现怎么都激活不了先看看conda版本是否过旧或者试试conda init再重新打开终端。3. PyTorch安装CPU还是GPU选对命令才不踩坑3.1 先看硬件和驱动再决定装什么版本PyTorch安装最大的分叉点在于你要装CPU版还是GPU版。很多人上来就装GPU版结果模型训练时报错或者压根没用上显卡白白浪费时间和磁盘空间。判断步骤如下。先看自己有没有NVIDIA显卡。在Windows下打开任务管理器性能一栏里看有无“GPU”一项如果有GPU名称里是否带NVIDIA字样。没有NVIDIA独显的电脑直接装CPU版。有NVIDIA显卡的打开CMD或PowerShell输入nvidia-smi这个命令会显示显卡的驱动信息以及CUDA版本号。注意右上角的“CUDA Version: xx.x”表示你当前驱动支持的最高CUDA版本不代表你已经装了CUDA Toolkit。PyTorch的GPU版自带CUDA运行时所以你不需要单独安装完整的CUDA Toolkit只需保证NVIDIA驱动版本不要太旧即可。如果你连nvidia-smi都提示“不是内部或外部命令”说明NVIDIA驱动还没装好或者装得不完整。先去NVIDIA官网下载对应显卡型号的驱动安装上。macOS用户没有NVIDIA CUDA支持直接装CPU版即可Apple Silicon芯片的Mac还可以利用MPS加速后面我们再说。3.2 用conda安装PyTorch一条命令的事但版本要对确认好硬件情况后回到已经激活的pytorch虚拟环境打开PyTorch官网pytorch.org官网首页会自动根据你的操作系统和包管理器生成对应的安装命令。这是最权威的获取安装命令的方式。截至我写这篇教程时的稳定版本Linux和Windows的conda安装命令大致如下。CPU版conda install pytorch torchvision torchaudio cpuonly -c pytorchGPU版以CUDA 12.1为例conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia注意GPU版命令最后多了pytorch-cuda12.1这个包是从NVIDIA的conda频道拉取的CUDA运行时是整个GPU支持的关键。如果你的显卡驱动较老可以选择低一些的CUDA版本比如11.8命令里的版本号相应改成pytorch-cuda11.8即可。3.3 为什么不建议用默认的pip install torch还有一个常见做法是用pip安装pip install torch torchvision torchaudio这条命令默认会安装CPU版。如果你装完发现torch.cuda.is_available()返回False而自己明明有NVIDIA显卡多半就是这条命令导致的。用pip安装GPU版需要指定CUDA版本的镜像源命令比较长格式类似pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121这里cu121对应CUDA 12.1。这种方式同样可行但需要pip源稳定。整体来说conda命令更省心因为conda会自动处理CUDA相关的依赖包而pip有时会因为环境中缺少某些CUDA动态库而出现问题。还有一个现实差异conda装PyTorch一般会把CUDA运行时的库都带上装完就能用pip装GPU版有时候还需要额外确认系统里有没有对应的CUDA库。对新手来说conda更稳妥。3.4 安装验证torch.cuda.is_available()说了算安装完成后在激活了pytorch环境的终端里输入python -c import torch; print(torch.__version__)能输出版本号就说明PyTorch装好了。接着验证GPU是否可用python -c import torch; print(torch.cuda.is_available())如果输出True那么你的CPU和GPU版PyTorch都配置成功。如果输出False先不要慌按第五节的排查步骤走一遍。CPU版用户到这里就可以直接跳到第4节了。GPU版用户还可以再看一眼实际使用的显卡型号python -c import torch; print(torch.cuda.get_device_name(0))看到类似“NVIDIA GeForce RTX 4060 Laptop GPU”的输出说明检测正常。4. PyCharm安装与项目配置4.1 下载社区版还是专业版PyCharm官网是jetbrains.com/pycharm进入下载页面发现有两个版本Professional专业版和Community社区版。很多新手会对这两个版本纠结半天。我的建议非常直接如果只是学习深度学习、写Python脚本、做数据分析和本地PyTorch项目社区版完全够用免费、开源、没有使用限制。专业版多了远程开发、数据库支持、Django Web开发等功能如果你以后要连远程服务器训练模型可以考虑。学生和教师也可以凭学校邮箱免费申请专业版授权这一点大家可以自己去了解本文不多说。下载时注意选择对应操作系统Windows用户下载.exe安装包macOS下载.dmg。4.2 安装过程的几个细节双击安装包后一路Next也不是不行但有三个选项建议手动调整。第一个是安装路径我习惯改成D:\JetBrains\PyCharm Community Edition之类的路径避免默认装在C盘越积越大。第二个是安装选项勾选“Create Desktop Shortcut”把64-bit launcher勾上。如果平时习惯右键打开文件也可以勾选“Add Open Folder as Project”。其他如“Update PATH variable”保持默认。第三个是文件关联建议勾选.py文件关联以后双击.py就能直接用PyCharm打开。安装完成后第一次启动会让你选择UI主题和是否导入配置。新手直接选默认设置即可后面在设置里随时能改。4.3 把PyCharm的解释器指到conda环境这一步是整套配置里最关键的一环。很多人在PyCharm里写完代码一运行发现ModuleNotFoundError: No module named torch十有八九是解释器没选对。新建项目时在“New Project”界面找到“Interpreter”或“Python Interpreter”选项点击“Add Interpreter” - “Add Local Interpreter”。在弹出的窗口里选择“Conda Environment”标签页再选择“Existing environment”然后在右侧下拉框里找到之前创建的pytorch环境。如果下拉框没显示点击右侧文件夹图标手动定位到Anaconda安装目录下的envs\pytorch\python.exe文件。选好之后点Create创建项目。此时PyCharm的终端会自动激活pytorch环境运行代码时用的解释器也是这个环境里的Python。对于已经创建的旧项目修改解释器路径的方法是File - Settings - Project - Python Interpreter - Add Interpreter同样选择Conda Environment即可。4.4 验证PyCharm里的torch是否能正常导入配置完成后在PyCharm里新建一个Python文件输入以下代码import torch print(torch.__version__) print(torch.cuda.is_available())点击运行如果能输出torch版本号和True/False说明整个环境已经打通。这里输出的应该和终端里的结果一致。如果PyCharm里报错但终端里正常基本可以断定解释器选错了环境回到4.3节重新检查一遍。4.5 PyCharm常用设置优化第一次用PyCharm有几个设置项可以顺手调一下让后续使用舒适很多。界面语言方面新版PyCharm默认英文。如果你想用中文界面可以安装Chinese Language Pack插件打开Settings - Plugins在Marketplace里搜索Chinese找到“Chinese Language Pack / 中文语言包”插件安装并重启即可。代码字体方面Settings - Editor - Font里可以调字体大小。我个人习惯将字号设为16做深度学习时盯着屏幕时间较长字号太小的确费眼。自动保存和换行等设置保持默认即可。还有一个实用功能在Settings - Tools - Python Integrated Tools里可以把Default test runner设置为pytest后续写测试更顺手。5. 安装过程中最常见的坑和排查思路5.1 conda命令不是内部或外部命令这是在Windows上装完Anaconda后最常见的报错原因只有一个conda的可执行文件路径不在PATH环境变量里。解决办法有两种。如果你是按我前文的方式安装时没有勾选加入PATH那么在Anaconda Prompt里用conda命令是没问题的因为Anaconda Prompt启动时会自动加载conda相关的环境变量。如果你希望在所有终端里都能用conda可以在Anaconda Prompt里执行一次conda init cmd.exe然后重新打开终端。这条命令会把Anaconda相关路径写进用户环境变量。另外如果你使用的是Windows Terminal或PowerShell在Anaconda Prompt中执行conda init powershell然后以管理员身份重新打开PowerShell即可。5.2 conda create或install速度极慢安装包速度上不去绝大多数情况是源的问题。确认一下当前conda的源配置conda config --show channels如果显示的还是默认的repo.anaconda.com说明之前配置镜像源没生效。重新执行2.3节的换源命令然后再装一次。还有一个可能性是conda在解析依赖关系时卡住了。这个时候终端会停在“Solving environment”状态很久。解决办法是使用mamba一个用C写的更快的conda替代品。安装它conda install mamba -n base -c conda-forge之后用mamba代替conda创建环境和装包mamba create -n pytorch python3.11 mamba install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia实测下来mamba解析依赖的速度是conda的几倍到十几倍墙裂推荐。5.3 NVIDIA显卡正常但torch.cuda.is_available()返回False这个问题分几种情况排查。先确认nvidia-smi能正常输出。如果不能驱动没装好去NVIDIA官网下载驱动安装重启后再试。再确认你安装的PyTorch是GPU版。可以用以下命令查看conda list pytorch如果显示的包名是pytorch2.x.x后面没有cpu字样说明装的是GPU版。如果带着cpu说明装错了版本需要重新安装conda remove pytorch torchvision torchaudio conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia最后确认安装命令里的CUDA版本和你的驱动兼容。驱动版本越新越好老驱动对高版本CUDA的支持有限。如果驱动比较旧安装低版本的CUDA PyTorch比如pytorch-cuda11.8一般都能解决。如果你用的是笔记本还要考虑显卡切换的问题。部分笔记本默认让程序使用核显运行PyTorch会检测不到独显。可以在系统里搜索“图形设置”把Python进程设置为“高性能NVIDIA处理器”。5.4 PyCharm运行后ModuleNotFoundError终端里能用torchPyCharm里不能用大概率是解释器配置问题。去Settings - Project - Python Interpreter里看当前选择的是哪个环境。如果显示的是Python 3.11base环境或者系统自带的Python都会导致torch导入失败。务必将解释器切换到conda环境下的python.exe路径通常在Anaconda安装目录的envs\pytorch\python.exe。切换后如果PyCharm提示索引或导入过程比较久属正常现象等待右下角进度条走完再运行。5.5 磁盘空间不足警告Anaconda、PyTorch的CUDA组件加在一起占用空间远超你想象。一个带CUDA的PyTorch环境通常需要4~6GB空间Anaconda本体也要2~3GB。如果C盘空间紧张建环境时可以用以下命令指定环境存放路径conda create -p D:\conda_envs\pytorch python3.11-p参数指定了环境路径到D盘激活时也需要用完整路径或者先cd到对应目录。这样可以有效避免C盘爆掉。实测中这个用法非常适合笔记本用户尤其是那些C盘只有128GB的老机器。5.6 PyTorch安装后运行时报找不到MSVCP140.dllWindows上运行时偶尔会提示缺少这个动态链接库原因是系统缺少Microsoft Visual C Redistributable运行库。去微软官网搜索“Visual C Redistributable”下载x64版本安装后重启系统问题即解决。6. 装好之后先跑几个小例子练手环境装好建议不要急着去看复杂的模型代码先用几个最简单的例子确认整条链路是通的同时感受一下PyTorch的基本操作方式。第一个例子创建一个张量做一些基础运算。import torch x torch.tensor([[1, 2], [3, 4]], dtypetorch.float32) y torch.tensor([[5, 6], [7, 8]], dtypetorch.float32) z torch.matmul(x, y.transpose(0, 1)) print(z) print(z.shape)如果没有报错并输出对应矩阵说明基本运算正常。torch.matmul是矩阵乘法transpose是转置这两个操作在后续模型代码里随时会用到。第二个例子验证自动求导机制。这是PyTorch最核心的一个特性也是深度学习训练的数学基础。import torch x torch.tensor(3.0, requires_gradTrue) y x ** 2 2 * x 1 y.backward() print(x.grad)理论上y对x的导数是2x 2代入x3应该得到8。如果输出tensor(8.)说明自动求导功能正常。理解了这个机制你就知道为什么PyTorch能自动计算每个参数的梯度。第三个例子如果你的电脑支持CUDA验证GPU上能跑运算。import torch print(torch.cuda.is_available()) device torch.device(cuda if torch.cuda.is_available() else cpu) x torch.randn(3, 3, devicedevice) print(x)这段代码会把张量创建在GPU上如果正常输出说明GPU相关链路完全打通。使用Apple Silicon芯片的Mac用户可以把cuda换成mpsPyTorch 2.x对MPS原生支持已经比较完善device torch.device(mps if torch.backends.mps.is_available() else cpu)7. 一点个人心得装环境这件事本质上是把“不可控的依赖”变成“可控的状态”。我见过太多人卡在这一步就放弃了也有很多人因为环境搞不定误以为是自己的代码有问题白白浪费大量时间。如果你的安装过程和这篇教程不完全一样不要慌。PyTorch的版本迭代很快Anaconda也在持续更新具体命令和教程里的截图可能对不上但核心思路是不变的确认硬件、创建虚拟环境、用正确的源安装、把解释器选对、验证GPU可用。抓住这几条主线无论界面怎么变、命令怎么改你都能自己排查出来。给新手的最后一条建议不要追求一次把所有深度学习相关的包都装齐。先搭一个能跑通的PyTorch环境后面用到什么再装什么。这样环境始终保持简洁出问题时也能快速定位。装上之后建议拿一个经典的小项目比如用PyTorch做一次mnist手写数字分类完整地跑一遍数据加载、模型定义、训练循环、测试评估的流程这才是检验环境是否真正可用的最好方式。