
配環境這件事在深度學習方向幾乎是“勸退率”最高的一步。很多人不是被模型難倒而是倒在 Anaconda 下載、PyTorch 裝錯版本、GPU 明明有卻用不上、編輯器里解釋器配置混亂這些環節上。這篇文章的目的很簡單把 2026 年仍然實用的 Anaconda PyTorch 雙版本 編輯器一站式環境搭建流程完整過一遍。所謂“雙版本”不是指裝兩個 Python而是在同一臺機器上維護兩套獨立虛擬環境一套 CPU 版 PyTorch用于日常調試、低算力跑通代碼一套 GPU 版 PyTorch用于實際訓練和推理。這樣做的最大好處是互不污染、隨時切換。這篇文章會覆蓋Anaconda 下載安裝與源配置、conda 虛擬環境創建、PyTorch CPU/GPU 雙版本安裝命令、CUDA 驅動版本判斷、PyCharm 和 VS Code 的解釋器配置、第一段 PyTorch 代碼驗證、顯存占用觀察方法以及高頻報錯排查。整個流程同樣適用于 Windows、Linux 和 macOS核心命令幾乎一致只有少數步驟需要按平臺微調。如果你正在準備讀論文復現、跑課程設計、做畢設實驗或者想把自己的老筆記本利用起來先跑通訓練流程這套流程可以直接照抄。需要提前說明的一點Anaconda 和 PyTorch 的版本迭代很快本文提供的是通用方法和可靠命令模板。實際安裝時以官方最新穩定版為準但安裝思路不會變。1. 核心能力速覽能力項說明覆蓋內容Anaconda 安裝、conda 虛擬環境、PyTorch CPU/GPU 雙版本、編輯器集成操作系統支持Windows 10/11、Ubuntu 等主流 Linux 發行版、macOS硬件要求CPU 版任意 x86_64 或 arm64 處理器GPU 版NVIDIA 顯卡 對應驅動顯存需求不固定取決于模型大小PyTorch 本身不額外占用顯存只有運行模型時才有占用Python 管理由 Anaconda 自帶虛擬環境可指定 Python 3.8 至 3.12 等版本啟動方式Anaconda Prompt、PowerShell、終端編輯器內直接選擇解釋器運行是否支持 API不涉及本文是開發環境搭建是否支持批量任務不涉及本文重點是讓本地環境可運行 PyTorch適合場景課程作業、論文復現、算法實驗、小型模型訓練與測試2. 適用場景與使用邊界這套環境最核心的價值是解決“多項目、多依賴、多版本”之間的沖突。比如你要復現一個舊項目它要求 Python 3.8 和 PyTorch 1.13另一個新項目要求 Python 3.10 和 PyTorch 2.x。如果用系統全局 Python 直接裝很容易出現依賴庫互相覆蓋最后哪個項目都跑不起來。用 conda 虛擬環境每個項目一套獨立環境互不干擾這是最推薦的實踐。從適用場景看適合以下幾類人。第一類是剛接觸 PyTorch 的學生需要在本地跑通 MNIST、CIFAR 等入門模型第二類是在做論文復現的研究人員需要快速切換不同版本的 PyTorch 和 CUDA第三類是在公司做內部實驗的算法工程師需要一套統一、可復制的環境方案并配合 requirements.txt 管理依賴。同時也要明確一些不適合的場景。Anaconda 適合個人開發機和內部測試機不適合直接作為生產環境部署。生產環境通常會用 Docker 鏡像鎖定 Python、CUDA、PyTorch 版本避免環境漂移。另外如果你的任務目標是訓練大規模語言模型或超大視覺模型單機 Anaconda 環境再干凈也解決不了算力不足的問題那是分布式訓練和 GPU 集群的范疇。使用邊界方面要特別提醒合規問題。PyTorch 本身是開源框架可以自由安裝使用但如果后續用 PyTorch 加載預訓練模型、處理人臉數據、語音數據、版權圖片或受保護文本必須確認數據來源合法、模型權重許可允許你的使用方式并對涉及個人隱私的信息做好脫敏處理。環境搭建這一步本身沒有風險但環境最終是為模型服務所以數據的合法授權問題從一開始就要放在心上。3. 環境準備與前置條件正式開始前先對照檢查一下你的機器是否滿足條件。整個安裝鏈路并不復雜但缺一個前置依賴后面排查會花很多時間。系統方面。Windows 最好在 10 以上Windows 7 已經不適合跑新版 Anaconda 和 PyTorch。Linux 建議 Ubuntu 18.04 或更高版本內核太老可能在裝新版 CUDA 驅動時遇到障礙。macOS 要注意區分 Intel 芯片和 Apple Silicon安裝包類型不同。硬件方面。CPU 版 PyTorch 對硬件幾乎沒有要求普通筆記本就能跑只是訓練速度較慢。GPU 版需要 NVIDIA 獨立顯卡型號建議 GeForce GTX 10 系以上老卡也能用但新版本 PyTorch 可能逐步放棄對 Kepler、Maxwell 架構的官方支持。AMD 顯卡用戶需要注意PyTorch 在 Linux 下可以通過 ROCm 獲得 GPU 加速但 Windows 下 ROCm 支持有限更穩妥的方案是先使用 CPU 版本跑通代碼或者準備一臺 NVIDIA 顯卡的機器。“AMD 用戶裝不了 PyTorch”是一個常見誤解。準確說法是PyTorch 官網為 AMD 顯卡提供的是 ROCm 版本且主要支持 LinuxWindows 下官方支持有限。所以 AMD 用戶在 Windows 上最穩的路徑是安裝 PyTorch CPU 版先把訓練流程跑通再考慮在 Linux 上使用 ROCm 加速。磁盤空間方面。Anaconda 本身安裝后大約占用 3 到 5 GB每個 PyTorch 虛擬環境又會占用 2 到 5 GB主要取決于你是裝 CPU 版還是帶 CUDA 的 GPU 版。如果后期還要下載多種模型權重文件建議預留 30 GB 以上空間免得訓練中斷。網絡方面。下載 Anaconda 安裝包需要訪問官網或鏡像站創建 conda 虛擬環境和安裝 PyTorch 時需要訪問 conda 或 pip 源。如果網絡不穩定建議先把默認源切換為國內鏡像源后續步驟會快很多。這部分在下一節展開。另外如果你之前已經安裝過 Python并且把它加進了系統 PATH注意不要和 Anaconda 沖突。原則是讓 Anaconda 管理自己的 Python不要兩個同時搶環境變量。最穩妥的做法是要么卸載系統 Python要么安裝 Anaconda 時不勾選“Add to PATH”只用 Anaconda Prompt 或編輯器里的解釋器列表來使用它。4. Anaconda 下載安裝與環境變量配置4.1 下載與安裝打開 Anaconda 官網下載頁面選擇系統對應的版本。Windows 用戶要注意Python 3.12 之后的安裝包默認不帶“Add to PATH”選項安裝時需要手動留意如果你不確定保持默認不勾選后面用 Anaconda Prompt。安裝過程有幾個關鍵點。第一個安裝位置建議保持默認路徑不要包含中文和空格。第二個安裝類型選擇“Just Me”權限問題少。第三個是否勾選 PATH建議不勾選避免和已有 Python 沖突。4.2 驗證安裝安裝完成后打開 Anaconda PromptWindows輸入conda --version能看到類似conda 24.x.x的輸出說明安裝成功。接著查看 Python 版本python --version注意這里看到的 Python 是 Anaconda 自帶的 base 環境里的 Python不需要系統單獨安裝。如果你在 PowerShell 或 CMD 里輸入 conda 提示“不是內部或外部命令”說明沒有把 Anaconda 加入 PATH。兩個解決辦法一是以后都用 Anaconda Prompt二是在系統環境變量中手動添加 Anaconda 的三個路徑分別是安裝目錄、安裝目錄下的Scripts和安裝目錄下的Library\bin。添加后重新打開終端。4.3 配置國內鏡像源如果直接在 conda 默認源下載包速度可能很慢甚至超時。建議切換到國內鏡像源例如清華 TUNA 源。執行以下命令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 config --show channels查看當前源列表。如果以后想恢復默認源conda config --remove-key channels注意pip 也有自己的源配置。PyTorch 安裝時如果使用 pip也可以臨時指定國內鏡像源但 PyTorch 的 CUDA 版本依賴比較特殊建議優先使用 PyTorch 官方給出的安裝命令實在下載太慢再考慮鏡像。5. 創建 PyTorch CPU 版與 GPU 版雙環境5.1 為什么必須拆成兩個環境PyTorch 的 CPU 版和 GPU 版互相獨立。很多初學者只裝了一個 GPU 版換到沒有獨顯的機器上就報錯或者只裝了 GPU 版但 PyTorch 依賴的 CUDA 版本和本機驅動不匹配導致torch.cuda.is_available()一直返回 False。拆成兩個環境后調試代碼用 CPU 版正式訓練切到 GPU 版邏輯清晰排查更容易。5.2 創建環境并指定 Python 版本打開 Anaconda Prompt 或終端依次輸入conda create -n pytorch-cpu python3.10 -y conda create -n pytorch-gpu python3.10 -y名字可以自己定比如pytorch-cpu和pytorch-gpu。Python 版本 3.10 是一個兼容性較好的選擇PyTorch 2.x 全系列都支持。如果你有舊項目需要按項目要求換成 3.8 或 3.12命令同樣適用。5.3 安裝 PyTorch CPU 版激活 CPU 環境conda activate pytorch-cpuPyTorch 官方為 CPU 提供了單獨的安裝索引。以 PyTorch 2.x 為例通用命令是pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu如果下載速度慢可以加上國內鏡像參數但要注意部分鏡像同步可能不及時安裝失敗時優先檢查包版本是否存在pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple安裝完成后驗證 CPU 版是否可用python -c import torch; print(torch.__version__); print(torch.cuda.is_available())輸出中版本號正常、cuda.is_available()為 False就說明 CPU 版安裝成功。CPU 版不用關心 CUDA 驅動任何一臺能運行 Python 的機器都能裝。5.4 安裝 PyTorch GPU 版GPU 版安裝前先確認兩件事顯卡驅動是否支持 CUDA以及驅動對應的 CUDA 版本是多少。Windows 下打開終端執行nvidia-smi輸出右上角會顯示CUDA Version: 12.x這樣的信息這是驅動支持的最高 CUDA 版本不等于你已經安裝了 CUDA Toolkit。PyTorch 在安裝時會捆綁自己需要的 CUDA 運行庫所以驅動版本原則上不低于 PyTorch 要求的 CUDA 版本即可。激活 GPU 環境conda activate pytorch-gpuPyTorch 官網會根據當前系統架構生成安裝命令。常見寫法有兩種。使用 CUDA 11.8 的版本pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118使用 CUDA 12.1 或更新版本的寫法類似只需要把索引尾部的cu118換成對應的 CUDA 版本標識。這里要特別說明不要盲目追求最新 CUDA 版本優先參考兩個東西一是本機 NVIDIA 驅動支持的 CUDA 版本二是你復現的舊項目對 PyTorch 版本的依賴。如果驅動較舊選 CUDA 11.8 更穩妥。安裝完成后在 GPU 環境下驗證python -c import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))理想輸出是版本號顯示2.x.xcu118cuda.is_available()為 True并且打印出你的顯卡名稱。如果cuda.is_available()為 False大概率是驅動版本、PyTorch 的 CUDA 版本、顯卡架構三者之一不匹配排查方法見第 9 節。5.5 雙環境的日常管理以后打開終端需要進入哪個環境就用哪個命令conda activate pytorch-cpu conda activate pytorch-gpu退出當前環境conda deactivate查看現有環境列表conda env list刪除不需要的環境conda remove -n pytorch-gpu --all環境之間完全隔離各自安裝的包互不影響。這就是 conda 最實用的價值。6. 編輯器配置PyCharm 與 VS Code6.1 編譯器和編輯器的區別展開配置前先說清楚一個基礎概念。經常有新手問“編輯器和編譯器有什么區別”。簡單說編輯器是你寫代碼的軟件比如 VS Code、PyCharm、Vim、Notepad它負責文本編輯和語法高亮編譯器或解釋器是執行代碼的程序比如 Python 解釋器負責把.py文件翻譯成機器能執行的指令C 編譯器負責把.cpp編譯成可執行文件。Python 嚴格來說是解釋執行的語言所以用 PyCharm 或 VS Code 寫代碼時必須手動指定使用哪一個 Python 解釋器。你看到的“配置 Anaconda 環境”本質就是把編輯器里默認的解釋器指向 conda 創建的某個虛擬環境里的 Python。這個區別弄清楚之后配置過程就不會懵了conda 負責創建解釋器環境編輯器負責調用這個解釋器。6.2 PyCharm 配置 Anaconda 虛擬環境打開 PyCharm創建新項目后點擊右下角的 Python Interpreter 或者進入File - Settings - Project - Python Interpreter。點擊解釋器下拉框旁邊的齒輪選擇Add Interpreter - Add Local Interpreter。在彈出的窗口里選擇Conda Environment - Existing environment然后在列表中選擇你剛才創建的pytorch-gpu環境。PyCharm 會自動定位到該環境下的 Python 解釋器確認后應用。驗證方式在項目里新建一個test.py隨意寫一行import torch print(torch.__version__)點擊運行如果能正常輸出 torch 版本號說明解釋器配置成功。如果提示ModuleNotFoundError: No module named torch說明解釋器選錯了環境重新檢查。6.3 VS Code 配置 Anaconda 虛擬環境VS Code 的配置更輕量。先安裝官方 Python 擴展。然后按Ctrl Shift P打開命令面板輸入Python: Select Interpreter選擇你創建的pytorch-gpu環境。如果列表里沒有點擊 “Enter interpreter path”手動定位到 Anaconda 安裝目錄下的envs\pytorch-gpu\python.exe。配置完成后VS Code 底部狀態欄會顯示當前解釋器名稱。打開終端VS Code 會自動激活這個 conda 環境終端前綴會出現(pytorch-gpu)。6.4 Markdown 編輯器與文檔協作除了代碼編輯器深度學習項目還需要寫實驗記錄和項目文檔。PyCharm 和 VS Code 都內置了 Markdown 預覽插件可以直接把實驗筆記、模型說明寫成.md文件。對于記錄超參數、數據預處理步驟、模型結構這類內容Markdown 比 Word 更清晰也便于提交到 GitHub 倉庫。如果你經常寫博客或維護項目 README一個順手的 Markdown 編輯器同樣值得裝主流選擇有 Typora、Obsidian 或 VS Code 內置預覽。7. 第一段 PyTorch 訓練代碼驗證環境配好、編輯器選好解釋器之后跑一段完整的小代碼確認 CPU 版和 GPU 版都能正常工作。7.1 CPU 版測試腳本在pytorch-cpu環境下運行import torch # 創建兩個張量并計算 x torch.randn(3, 3) y torch.randn(3, 3) z torch.matmul(x, y) print(torch version:, torch.__version__) print(CUDA available:, torch.cuda.is_available()) print(z shape:, z.shape)預期輸出中CUDA available為 False張量計算正常。這驗證了 CPU 推理鏈路。7.2 GPU 版測試腳本在pytorch-gpu環境下運行import torch # 檢查 GPU 是否可用 if torch.cuda.is_available(): device torch.device(cuda) print(Using GPU:, torch.cuda.get_device_name(0)) else: device torch.device(cpu) print(CUDA not available, using CPU) # 將張量放到 GPU 上計算 x torch.randn(3, 3).to(device) y torch.randn(3, 3).to(device) z torch.matmul(x, y) print(Result shape:, z.shape) print(Result device:, z.device)預期輸出中Using GPU顯示你的顯卡名稱Result device為cuda:0說明數據已經成功放到顯卡上參與計算。如果第一次安裝這一步通過基本可以確定環境沒有大問題。7.3 一個可運行的迷你訓練流程為了進一步確認訓練鏈路可以跑一個 20 輪的線性回歸小例子。這個代碼本身沒有實際應用價值主要用來驗證 GPU 上的張量計算、損失函數和反向傳播是否正常import torch import torch.nn as nn device torch.device(cuda if torch.cuda.is_available() else cpu) model nn.Linear(8, 1).to(device) loss_fn nn.MSELoss() optimizer torch.optim.SGD(model.parameters(), lr0.01) x torch.randn(64, 8).to(device) y torch.randn(64, 1).to(device) for epoch in range(20): pred model(x) loss loss_fn(pred, y) optimizer.zero_grad() loss.backward() optimizer.step() if (epoch 1) % 5 0: print(fepoch {epoch 1}, loss: {loss.item():.4f})如果能在 GPU 環境下正常迭代并輸出 loss說明 PyTorch 的雙向傳播鏈路沒有問題。這個測試很小運行過程會在幾秒內結束適合作為環境配置完成的驗收腳本。8. GPU 顯存占用與性能觀察方法8.1 如何查看顯存占用訓練代碼運行時最直觀的觀察方法是nvidia-smi。Windows 用戶在終端輸入nvidia-smi輸出表格中的第一行會列出所有 NVIDIA GPU下方的“Memory-Usage”列顯示顯存占用。如果訓練代碼在運行nvidia-smi里會看到一個 Python 進程占用幾百 MB 到幾 GB 不等的顯存。如果你不想一直盯著終端可以用nvidia-smi -l 1這條命令每秒刷新一次方便觀察訓練過程中顯存變化。Linux 下也可以用watch -n 1 nvidia-smi。Windows 下任務管理器切換到“性能”選項卡也可以看到 GPU 的“專用 GPU 內存”占用。但任務管理器不會顯示進程級別的顯存占用排查誰占滿了顯存還是nvidia-smi更方便。8.2 影響顯存占用的關鍵參數訓練一個模型顯存占用并非固定值而是由幾個參數共同決定。第一是模型本身的大小模型參數量越大權重和梯度占用的顯存越多。第二是批量大小 batch size批量從 16 增加到 32激活值緩存幾乎翻倍。第三是輸入分辨率或序列長度輸入越大中間特征圖越大顯存占用越高。第四是是否開啟混合精度開啟 AMP 后部分計算使用半精度顯存占用和顯存帶寬壓力都會明顯降低。如果訓練時遇到CUDA out of memory按照以下順序調整先把 batch size 降低到 1再嘗試降低輸入分辨率然后開啟torch.cuda.amp.autocast()混合精度最后再考慮換一個顯存更大的顯卡。不要一上來就換環境或重裝 PyTorch顯存不足不是安裝問題。8.3 CPU 推理和 GPU 推理的差異CPU 環境下PyTorch 能跑但速度比 GPU 慢很多。對于卷積神經網絡和 Transformer 這類并行度高的模型GPU 優勢尤其明顯。CPU 版環境的價值不是追求速度而是保證你能在本地“先跑通”再在有 GPU 的機器上“跑得快”。同一套代碼在 CPU 環境和 GPU 環境之間切換只需要修改設備選擇邏輯一般就是torch.device(cuda if torch.cuda.is_available() else cpu)這一行。9. 常見問題與排查方法問題現象可能原因排查方式解決方案conda 命令找不到Anaconda 未加入 PATH 或未使用 Anaconda Prompt終端輸入conda --version使用 Anaconda Prompt 啟動或手動配置 PATH創建虛擬環境時提示UnavailableInvalidChannelconda 的 channel 源配置錯誤或源服務器同步異常執行conda config --show channels刪除錯誤源并重新添加鏡像源必要時刪除.condarc中無效 channel 后重試pip 安裝 PyTorch 報版本找不到指定了不存在的 CUDA 索引或 Python 版本過舊查看安裝命令中的索引后綴和 Python 版本去 PyTorch 官網核對當前支持的 Python 版本和 CUDA 版本torch.cuda.is_available()返回 False驅動過舊、PyTorch CUDA 版本與驅動不匹配、顯卡不支持執行nvidia-smi查看驅動 CUDA 版本更新 NVIDIA 驅動選擇與驅動兼容的 PyTorch CUDA 版本導入 torch 后 Python 崩潰或異常退出Python 版本與 PyTorch 不兼容或 CPU 指令集不支持檢查 Python 版本和 torch 版本重裝適合當前 Python 版本的 PyTorchPyCharm 找不到 conda 環境Anaconda 安裝路徑特殊PyCharm 未自動識別在解釋器設置中手動添加路徑選擇Add Local Interpreter手動瀏覽到envs目錄下的python.exeVS Code 終端沒有自動激活 conda 環境Python 擴展未識別 conda按Ctrl Shift P執行Python: Select Interpreter手動指定 Anaconda 環境中的 Python 解釋器安裝后 torchvision 與 torch 版本不匹配手動安裝時版本組合不一致用pip list查看版本同時安裝torchtorchvisiontorchaudio不要分開裝不同來源訓練時爆顯存batch size 過大或輸入分辨率過高觀察nvidia-smi顯存占用降低 batch size降低分辨率開啟混合精度conda 環境里執行 pip 卻裝到了系統 Python終端未激活 conda 環境終端前綴是否顯示(pytorch-gpu)執行conda activate pytorch-gpu后再安裝10. 最佳實踐與使用建議環境配好只是第一步長期使用中養成好習慣可以省下大量排查時間。第一環境命名要有規律。推薦格式是“框架名 用途”比如pytorch-cpu、pytorch-gpu、tf-gpu。不要起test1、newenv這種名字三個月后再看你自己都分不清。第二給每個項目單獨創建環境。一個環境對應一個項目或一篇論文復現不要把十幾個項目的依賴混在一個環境里。項目結束時執行conda env export導出環境方便以后復現。第三項目依賴用requirements.txt管理。在項目根目錄執行pip freeze requirements.txt換機器后安裝pip install -r requirements.txt注意pip freeze會把環境里所有包都導出來其中可能包含和項目無關的包。更精細的做法是手動維護requirements.txt只寫直接依賴的包并標注版本。第四不要輕易改動 base 環境。Anaconda 自帶的基礎環境用于 conda 自身運行如果刪了或改亂了可能導致conda本身無法使用。日常操作都放在獨立虛擬環境里。第五模型文件和數據集的目錄管理要提前規劃。建議按data/、models/、results/、logs/分目錄存放。不要把所有東西都堆在工作目錄下否則模型調試和結果對比都會很痛苦。第六使用端口的實驗項目要固定端口規則。PyTorch 本身不依賴端口但常用配套工具有TensorBoard 默認 6006Jupyter 默認 8888。如果你同時跑多個服務注意避免端口沖突。第七數據合規和模型授權需要時刻注意。環境本身沒有合規問題但當你下載預訓練權重、使用公開數據集、處理別人提供的人臉或語音素材時必須先確認獲得合法授權。論文復現時要查看開源許可證企業項目中尤其要避免直接使用未經授權的數據和權重。11. 總結與下一步這套流程真正值得記住的核心不是某一條具體命令而是“隔離 明確版本”這個環境管理思想。Anaconda 提供隔離能力PyTorch 按 CPU/GPU 雙版本拆開避免互相干擾編輯器負責選擇正確的解釋器。只要你把這三層的關系理清以后不管換什么項目、什么框架都能快速搭出干凈可復用的環境。最容易踩的坑有兩個一是 conda 和系統 Python 的 PATH 沖突解決辦法是優先使用 Anaconda Prompt或者把解釋器路徑交給編輯器管理二是 GPU 環境裝完torch.cuda.is_available()仍然返回 False這種情況下不要先懷疑安裝命令先執行nvidia-smi看驅動版本驅動不兼容時重裝 PyTorch 多少次都沒有用。建議你完成安裝后優先驗證三件事CPU 版環境能否正常做張量計算GPU 版環境能否讓torch.cuda.is_available()返回 TruePyCharm 或 VS Code 能否選對解釋器并跑通第一段訓練代碼。這三件事全部通過你的本地深度學習開發環境就算真正落地了。下一步可以直接進入 PyTorch 實戰從 MNIST 手寫數字分類開始跑通第一個卷積神經網絡然后可以嘗試在 GPU 上訓練一個更小的 ResNet 或 Vision Transformer理解數據加載、模型定義、訓練循環和評估流程是怎么協同工作的。配環境只是起點后面真正有價值的是你跑起來的每一行訓練代碼和每一次實驗記錄。