ARTICLE DETAIL

资讯详情

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

Anaconda+conda+PyTorch深度学习环境配置与CUDA验证

Anaconda+conda+PyTorch深度学习环境配置与CUDA验证 先说个真实场景周五晚上九点半复旦计算机学院的工作站机房里坐满了人半数屏幕上是同一个界面——一个黑色的命令行窗口光标停在那里闪前面的人卡在conda不是内部或外部命令后面的人对着 PyTorch 官网的一串安装命令发呆还有几个人正在和 CUDA 版本的报错搏斗。这一幕每年都在上演。你手上这几十台工作站既装了 Windows 又装了 Linux有的是 RTX 4090有的是 A100如果你没有自己的环境管理方案大概率会在某个深夜把系统 Python 搞坏然后花一个周末重装。这篇文章就是基于 2024 年 7 月复旦计算机工作站的实际场景写的从 Anaconda 的下载安装、环境变量配置到用 conda 创建干净的 PyTorch 深度学习环境再到验证 GPU 版本是否真的装好了全程走一遍。适合刚进实验室需要配置深度学习环境的同学也适合那些每次换机器都要重新搜一遍安装教程的朋友。里面的步骤和坑都是我在工作站上反复摸过的照着做能少走很多弯路。1. 为什么有系统 Python还是要从 Anaconda 开始很多同学第一次接触工作站时第一个疑问是系统里不是已经装好 Python 了吗为什么还要再搞一个 Anaconda这个问题的答案其实就是你未来一年会不会被环境问题折磨得死去活来的分水岭。1.1 系统 Python 的软链与权限陷阱工作站上确实有 Python而且很可能不止一个版本。你去/usr/bin/python3看一下那里有一个系统自带的版本这个版本服务于操作系统的很多底层工具。Ubuntu 的apt包管理器、软件中心、一些系统服务都依赖它。如果你直接pip install装一堆深度学习包进去运气好只是污染了系统环境运气不好直接把某个系统工具依赖的库升级坏了接着你就会发现apt装什么都是报错而这个错误跟你的深度学习项目毫无关系。Windows 上也不乐观。工作站如果装了多个软件有些软件的安装包会在C:\Python3x这种路径塞一个自己的 Python还把安装目录加到系统 PATH 里。这些版本彼此之间没有任何隔离机制你装一个 PyTorch下一个人装另一个 PyTorch很容易出现“你这个项目能跑我的一跑就崩”的经典情况。解决这个问题的标准做法是用虚拟环境做隔离。Python 自带的venv能做到一部分但它只隔离 Python 包的依赖不隔离 Python 版本本身。而深度学习项目对 Python 版本极为敏感有的论文代码要求 3.8有的要 3.10还有的必须 3.11。venv在版本切换这件事上很别扭你需要手动装多个 Python 版本然后自己管理这在 Windows 上尤其痛苦。1.2 Anaconda 解决了什么Anaconda 本质上是一个 Python 发行版加包管理器但它的核心价值在于它不但能建虚拟环境还能在虚拟环境里指定任意版本的 Pythonconda 会自动帮你把这个版本的 Python 解释器装进环境里互不干扰。你可以在同一台工作站上维护三个环境nlp_tfTensorFlow 2.xPython 3.9cv_pytorchPyTorch 2.xPython 3.11legacyPyTorch 1.8Python 3.7应付某些老代码这三个环境可以同时存在切换只需要一条命令不会互相打架。这就像手机里的应用双开——同一个手机上你可以同时登录多个账号随时切换互不干扰。1.3 Anaconda 与 Miniconda 怎么选Anaconda 是一个全家桶装完自带 Jupyter、Spyder、NumPy、Pandas 等 300 多个常用包体积约 3GBMiniconda 只带 conda 和 Python其他全靠自己装体积不到 100MB。在高校工作站场景下我的建议是装 Anaconda 全量版。原因有两条一是工作站存储通常不紧张装一次大家共用没人介意多几个 GB二是深度学习环境依赖的很多基础库比如 MKL 数学库、OpenBLAS、编译工具链Anaconda 会自动配好省去很多手动安装的麻烦。如果你在个人电脑上配置硬盘紧张那就装 Miniconda 然后按需安装。注意除非你有充分的理由否则不要直接用sudo pip3 install torch这种方式往系统 Python 里塞包。这个习惯能让你避免 90% 以上的环境问题。2. 下载安装 Anaconda选版本比点下一步更重要2.1 从哪下载、下载哪个文件Anaconda 官网是 www.anaconda.com点击顶部的 Products 进入 Anaconda Distribution 页面会看到下载按钮。但官网下载走的是海外 CDN国内速度不稳定动辄几百 KB/s 甚至断掉。更稳妥的方式是用清华大学的开源软件镜像站在浏览器打开 mirrors.tuna.tsinghua.edu.cn/anaconda/archive/按时间排序找到 2024 年的安装包。2024 年发布的版本号大概是 2024.02、2024.06、2024.10 这种格式对应一年中的发布日期。文件名里有几个关键区分点Anaconda3-2024.02-1-Linux-x86_64.shLinux 版适用于 x86_64 架构绝大多数工作站是这个Anaconda3-2024.02-1-Windows-x86_64.exeWindows 版Anaconda3-2024.02-1-MacOSX-arm64.pkgMac 版M 系列芯片用选的时候确认两点架构是 x86_64系统是 Windows/Linux。不要看到年份最新就立刻下载一定要确认文件名里的架构和你的工作站一致。之前有个同学在 ARM 架构的机器上装了 x86 版本启动 conda 就报 Illegal instruction 错误折腾了俩小时。在复旦工作站的环境下大部分机器是 LinuxUbuntu 或 CentOS少部分装了 Windows。下载时机值得多说一句不要等到要用了才去下载校园网高峰期从清华镜像拉 3GB 文件一样可能断。建议刚到实验室那天就先下载好安装包放到家目录或者公共下载目录里以后谁要用直接拷。2.2 Windows 安装流程中的关键勾选项Windows 版安装没什么技术含量但有几个决定命运的勾选项第一个是安装路径。默认安装到C:\Users\你的用户名\anaconda3。有些教程会让你装到C:\Anaconda3避免用户名是中文导致编码问题我试过两者都能用但如果你工作站用户名是中文强烈建议手动改成纯英文路径。否则后面 hy 某些库在读取路径时会出现编码错误。第二个是安装界面的两个复选框。安装过程中会问你是否把 Anaconda3 加入 PATH 环境变量以及是否将 Anaconda 注册为默认 Python。我的建议第一个勾选通过“加入 PATH”这个复选框第二个你可以选上但也不是必须。这里网上争议很大很多教程说不要把 Anaconda 加入 PATH因为会和系统 Python 冲突。但在 2024 年的工作站场景下我实测下来不加入 PATH 对新手极其不友好——你打开命令行输入conda永远提示找不到命令然后你会怀疑自己装错了重装一遍还得点同一个选项。加入 PATH 的冲突风险在安装了系统 Python 的机器上确实存在但可以通过调整环境变量顺序来控制。如果你想要完全可控就不勾选加入 PATH只用 Anaconda Prompt 来操作。我在工作站上的实际操作方案是勾选加入 PATH同时勾选注册为默认 Python。因为工作站是公共环境大家要的就是“打开命令行就能用 conda”而且系统里通常没有别的 Python 需要保护——之前有人用过系统 Python 装过东西那已经是历史遗留问题了。2.3 Linux 安装流程与权限处理Linux 版安装用的是命令行下载完成后进入安装包所在目录执行bash Anaconda3-2024.06-1-Linux-x86_64.sh安装器会先显示许可协议按 Enter 或q跳过然后输入yes接受协议。接下来会问你安装路径默认是$HOME/anaconda3。如果你用的是公共账号、希望所有使用该账号的学生都能访问装在家目录下是最省事的如果是个人账号默认即可。安装器最后会问Do you wish the installer to initialize Anaconda3 by running conda init?输入yes。这条命令会把 conda 的初始化脚本写进~/.bashrc这样每次打开终端 conda 就自动可用了。这里有个很容易忽略的坑安装完成后你必须新开一个终端窗口或者执行source ~/.bashrc才能让 conda 生效。在当前终端里直接敲conda是会提示找不到命令的因为PATH只在新的 shell 里才会刷新。很多同学就是在这步卡住以为装失败了又删了重装一遍。安装完成后验证一下conda --version如果能输出conda 24.x.x类似的版本号说明核心安装成功。顺手看一下which python和python --version确认当前用的是不是 Anaconda 自带的 Python防止以后装包装到了别处。3. 让 conda 在工作站上“乖乖听话”环境变量与命令行细节安装只是开始真正让无数人崩溃的是接下来这几步。工作站上的 conda 环境变量问题、镜像源配置问题、基础命令不熟问题会以各种变形反复出现。这一节把最重要的细节一次说清楚。3.1 PATH 顺序两个 Python 谁说了算安装 Anaconda 并把 conda 加进 PATH 之后环境变量里可能同时存在两个 Python一个是系统的一个是 Anaconda 的。命令行里输入python到底调用哪个这取决于 PATH 里哪个目录排在前面。PATH 的查找规则是从左到右依次查找找到第一个匹配的可执行文件就停止。所以为了确保用的是 Anaconda 的 Python需要让 Anaconda 的路径排在系统 Python 之前。Windows 下检查方法按 WinR 输入sysdm.cpl打开“高级-环境变量”看 Path 变量列表的顺序。如果 Anaconda 的路径已经在系统 Python 之前那命令行运行的python就是 Anaconda 版的。如果没排在前头选中 Anaconda 的三个条目主目录、Scripts、Library/bin用“上移”按钮调整到顶部。Linux 下情况类似安装时选yes让 conda init它会在~/.bashrc里追加一段代码在终端启动时把 Anaconda 路径放到 PATH 的最前面。用echo $PATH看一下$HOME/anaconda3/bin应该在列表最前。配置好之后验证命令# Linux which python # 应该输出 /home/你的用户名/anaconda3/bin/python # Windows where python # 应该输出 C:\Users\你的用户名\anaconda3\python.exe如果输出了系统的路径说明 PATH 顺序有问题按上面方法调整。3.2 Windows 下人容易忘记的 Activate 机制Windows 上的 conda 有个机制和 Linux 不一样在普通终端cmd 或 PowerShell里即使 conda 命令可用你也需要先激活 base 环境才能用 Python。不开 Anaconda Prompt 的话即使 PATH 配好了python可能指向的还是别的路径。最稳妥的方案日常深度学习操作一律用 Anaconda Prompt安装 Anaconda 时会自动创建快捷方式。它会自动把 conda 的环境激活逻辑加载好。如果你就是喜欢用 VS Code 或者 PyCharm 的终端那也可以在配置好解释器后直接用 IDE 集成的终端。如果你希望像 Linux 那样新开终端直接进入 base 环境可以在 cmd 里执行conda activate之间会提示自动初始化。以后每次打开 cmd 想用 conda可以执行完整路径例如C:\Users\你的用户名\anaconda3\Scripts\activate.bat3.3 配置镜像源不配置你会等到怀疑人生conda 默认从官方源下载包速度实在不稳定。在高校场景里很多机器有教育网访问限制你若不配国内镜像创建环境那一步可能卡在Solving environment半小时不动。我用的是清华源配置方法是修改用户目录下的.condarc文件Windows 在C:\Users\你的用户名\.condarcLinux 在~/.condarc。用任意文本编辑器打开粘贴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 pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud保存后执行conda clean -i清除索引缓存。注意一点.condarc里custom_channels下面配的 pytorch 源在 2024 年下半年以后conda 方式安装的 pyTorch 官方推荐度有所下降因为 PyTorch 团队更推荐用 pip 安装了。这个细节到第 5 章具体讲。提示如果你在配置过程中踩到任何CondaHTTPError或者下载速度极慢十有八九是网络没走镜像源。用conda config --show channels可以查看当前生效的 channel 列表确认第一条是清华镜像而不是https://repo.anaconda.com。4. 创建独立环境别把 base 环境当临时仓库4.1 为什么强烈建议新建pytorch环境很多新手装完 Anaconda 就直接pip install torch所有包都装进 base 环境。短期看一切正常等过了一个月你会发现自己维护的环境里什么都有但什么都对不上号昨天装的 OpenCV 和今天的 PyTorch 依赖的 NumPy 版本冲突了一 import 就报错。在共享工作站上这种混乱是灾难性的——别人想用你的环境跑代码你甚至不知道需要什么版本的库。我的习惯是base 环境保持干净所有项目相关的包装在独立环境里。base 里只放 conda 和基本的 Python 库深度学习相关的全部装进专门的虚拟环境。创建环境用这条命令conda create -n pytorch python3.11-n pytorch指定环境名称你可以自由命名比如pytorch2.3、tf2、nlp推荐用项目名或框架名方便一眼认出用途。python3.11指定环境内的 Python 版本。为什么选 Python 3.11这需要参考当前 PyTorch 的兼容性。2024 年中PyTorch 2.x 稳定支持 Python 3.8 到 3.113.12 的支持也逐渐完备。选 3.11 的好处是主流深度学习库基本都完成了对 3.11 的适配不会出现某些依赖找不到预编译包的情况性能比 3.8/3.9 稍有提升字典、字节码等都有优化不至于太新导致老论文代码不兼容如果之后你发现某个项目的代码只兼容旧版 Python就再建一个python3.8的环境把那个项目的依赖装进去。这就是环境隔离的价值。4.2 conda 创建环境的完整命令走读创建环境时系统会自动解析依赖需要花一点时间。执行conda create -n pytorch python3.11后conda 会列出将要安装的包列表问你是否继续输入y。中间如果卡在Collecting package metadata (repodata.json)多半是网络问题检查.condarc是否配置正确。如果卡在Solving environment超过 5 分钟可以按 CtrlC 中断然后执行conda config --set channel_priority flexible再试。创建成功后激活环境conda activate pytorchWindows 下如果提示CommandNotFoundError先确认是否用了 Anaconda PromptLinux 下如果提示找不到 activate 命令则先执行source ~/anaconda3/bin/activate再激活。激活后命令行提示符的最前面会多一个(pytorch)像这样(pytorch) userworkstation:~$看到这个前缀说明你已经在 pytorch 环境里了。现在用python --version确认版本用pip --version确认 pip 属于当前环境。退出环境的命令是conda deactivate4.3 环境管理常用命令清单平时用得最频繁的环境命令整理成一张表场景命令查看所有环境conda env list创建环境conda create -n 名称 python3.11激活环境conda activate 名称退出环境conda deactivate删除环境conda remove -n 名称 --all复制环境conda create -n 新名称 --clone 旧名称导出环境配置conda env export environment.yaml从配置重建环境conda env create -f environment.yaml最后两条值得特别留意。当你要换到另一台工作站时这俩命令能帮你一键复现整个环境。在复旦这类多工作站共用的实验室里这几乎是必备技能——你在第 3 台工作站上搭好环境第 1 台工作站上想复现实验直接用environment.yaml文件拉起来。导出的environment.yaml里会包含包的版本号和 channel 信息。有一个需要注意的地方conda env export会包含当前环境中通过 pip 安装的包但恢复时 pip 包会被pip语句安装速度相对较慢且有版本冲突风险。如果你只需要导出 conda 托管的包可以用conda list --explicit生成更精确的列表。5. PyTorch 安装的重头戏CUDA 版本匹配才是关键到了整个流程的核心环节。很多人在 PyTorch 安装上栽跟头根本原因是没有搞清楚一个概念NVIDIA 驱动版本跟 CUDA Toolkit 版本不是一回事而 PyTorch 需要的是和你的驱动相匹配的 CUDA 运行时。5.1 先弄清楚两张显卡的“身份证”安装 PyTorch 之前你必须先知道自己工作站上的 GPU 支持到什么版本。打开命令行执行nvidia-smi输出的表格右上角会有一行CUDA Version: 12.4之类的信息。这里显示的 CUDA Version 是你的 NVIDIA 驱动所能支持的最高 CUDA 版本并不是说你已经装了 CUDA Toolkit。PyTorch 安装时选择的 CUDA 版本比如 cu118、cu121、cu124实测要求是这个 CUDA 版本不能高于驱动支持的版本。你可以装 cu118对应 CUDA 11.8在驱动支持 CUDA 12.4 的机器上但不能装 cu121 在驱动只支持 CUDA 11.4 的机器上。举个例子如果你看到CUDA Version: 11.4那你就应该装 PyTorch 的 cu118 或者 cu117 版本而不是 cu121 或 cu124 版本。如果你看到CUDA Version: 12.4那你可以放心选 cu121 或更新版本。2024 年的工作站如果装的是最近一两年的驱动nvidia-smi一般会显示CUDA Version: 12.x。如果是几年前的机器没更新过驱动可能停留在 11.x 甚至 10.x。所以先执行这条命令再去选安装命令。5.2 GPU 型号与算力的对应关系另一个需要关注的指标是 GPU 型号。老显卡可能因为算力不足而无法使用新版 PyTorch 的 CUDA 功能。NVIDIA 显卡的算力Compute Capability等级大致如下GPU 架构代表型号算力结论MaxwellGTX 9xx 系列5.x老架构PyTorch 新版本支持度差PascalGTX 10 系列6.x勉强可用建议用老版本 PyTorchVolta/TuringV100 / RTX 20 系列7.x可用AmpereA100 / RTX 30 系列8.x完全支持Ada LovelaceRTX 40 系列8.9完全支持HopperH1009.0完全支持复旦工作站以 Ampere 和 Ada Lovelace 架构的 GPU 为主所以 2024 年安装 PyTorch 2.3 或者 2.4 都没有问题。如果你的工作站是 GTX 1080 之类的旧卡PyTorch 新版本在编译时可能默认不做老架构的优化有些算子会报错。这时候建议安装 PyTorch 1.13 或者 2.0避免追求最新版本。5.3 PyTorch 安装命令的正确获取方式PyTorch 官方提供了一种安装命令生成器打开 pytorch.org 的 “Get Started” 页面选择你的系统、包管理器pip 或 conda、CUDA 版本页面就会生成对应的安装命令。以 2024 年 7 月为例假设你选择 pip CUDA 12.1页面生成的命令类似pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121这里有几个要点优先用 pip 而不是 conda 安装 PyTorch。PyTorch 团队在 2024 年明显把更多精力放在 pip 的预编译包上conda install pytorch需要从 pytorch channel 下载且版本更新滞后在高校网络环境下偶尔还会遇到包解析慢的问题。torch是主框架torchvision是图像处理相关的库包含数据集、模型、数据增强torchaudio是音频处理库。你如果只做 NLP可以只装torch做 CV 建议三个都装以后省事。有些人为了省空间只装 torch结果后面跑代码时import torchvision报 ModuleNotFoundError再补装。--index-url指定了 PyTorch 官方预编译好的 wheel 包索引。这一步走的是download.pytorch.org国内直连可能很慢。不要想着去配置什么特殊网络直接用清华镜像提供的 PyTorch wheel 索引pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple等等清华 PyPI 镜像里的 torch 是 CPU 版还是 GPU 版这个问题很关键。清华 PyPI 镜像的 torch 官方包默认是 CPU 版本Windows 上更是如此如果你pip install torch从默认源装很可能装出来一个没有 CUDA 支持的精简版。在 Linux 工作站上情况稍好PyPI 上的 torch 有时候包含 CUDA 依赖但版本匹配不一定准。稳妥做法有两种方案 A官方源直装适合网络快或挂代理的情况pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121方案 B清华镜像 CPU 版适合只需要跑 CPU 推理pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple但如果你在清华镜像上装出来发现torch.cuda.is_available()为 False那就需要换方案 A 或者用下面的方案 C。方案 C手动指定 wheel 文件离线安装适合机房网络受限场景进入清华镜像的 pytorch-wheel 页面——https://mirrors.tuna.tsinghua.edu.cn/pytorch-wheels/选择你需要的 cu121 目录下载torch-2.3.1cu121-cp311-cp311-linux_x86_64.whl这类文件然后本地安装pip3 install ./torch-2.3.1cu121-cp311-cp311-linux_x86_64.whl这个方案在复旦这种有内部网络限制的机房尤其好用——你可以在有网络的机器上下好 wheelU盘拷过去pip install一个包一分钟搞定完全不用依赖外网速度。5.4 版本一致性torch、torchvision、torchaudio 必须匹配PyTorch 生态的三个包torch、torchvision、torchaudio之间不是随意搭配的。你安装的 torchvision 版本必须和 torch 版本匹配否则会出现各种奇怪的导入错误。匹配规则很简单torchvision 0.18 对应 torch 2.3torchvision 0.17 对应 torch 2.2torchvision 0.16 对应 torch 2.1。如果不小心装错了匹配对常见的错误是RuntimeError: operator torchvision::nms does not exist或者AttributeError: module torchvision has no attribute ops为了避免这个问题最简单的方式是同一条命令里一起安装让 pip 自动解析依赖pip3 install torch2.3.1 torchvision0.18.1 torchaudio2.3.1 --index-url https://download.pytorch.org/whl/cu121如果你不确定应该装哪个版本就去 PyTorch 官网的 previous versions 页面看看对应关系或者干脆只指定 torch 版本让 pip 解析pip3 install torch2.3.1 --index-url https://download.pytorch.org/whl/cu121然后查看pip list | grep torch确认安装的 torchvision 版本是否与你想要的匹配。6. 环境跑通之后的验证与日常使用工作流安装结束不等于万事大吉。经过无数次帮同学排查环境问题的经验我可以负责任地说装完 PyTorch 后 5 分钟的验证能帮你省下未来一学期的崩溃排查时间。6.1 三行代码验证 PyTorch 和 CUDA 是否真的可用进入 pytorch 环境启动 Python 解释器依次执行import torch print(torch.__version__) print(torch.cuda.is_available())如果torch.__version__是2.3.1cu121带 cu121 后缀说明你安装的是带 CUDA 支持的版本。如果只有2.3.1之类的没有后缀的数字说明这个包可能是 CPU 版。如果torch.cuda.is_available()返回True说明 CUDA 已经可用。如果返回False先不要慌按这个顺序排查看装的版本是否带 CUDAprint(torch.__version__)是否有 cu 后缀。如果没有说明安装源导致装成了 CPU 版需要用--index-url重新装。看 nvidia-smi 的输出确认驱动正常。如果nvidia-smi都跑不起来那就是驱动问题重启机器或者让管理员装驱动。看 PyTorch 需要的 CUDA 版本是否高于驱动支持版本。如果nvidia-smi显示 CUDA 版本是 11.4但你装了 cu121 的 PyTorchtorch 会直接报CUDA driver version is insufficient for CUDA runtime version。进一步验证 GPU 真的在干活可以执行import torch x torch.rand(3, 3).cuda() print(x) print(torch.cuda.get_device_name(0))如果输出一个 GPU 上的张量并且打印出显卡名称比如NVIDIA GeForce RTX 4090说明 GPU 计算链路完全打通了。6.2 日常使用工作站上的三条铁律环境配好之后日常使用时有几条经验值得提前说第一条每次用之前先确认自己在哪个环境。conda env list屏幕上会有一个带星号*的环境名那就是当前激活的环境。如果发现不在 pytorch 环境里执行conda activate pytorch。被 base 环境的 Python 坑过的人都知道有些包只在 pytorch 环境里你在 base 里跑就会 ModuleNotFoundError。第二条装新包时确认 pip 属于当前环境。which pip输出路径里应该包含anaconda3/envs/pytorch/bin/pip。如果输出的是/usr/bin/pip或者 base 环境下的路径说明你正在装包到别的环境里。这是新手最常犯的错误——用sudo pip install直接把包装到了系统里然后环境里还是缺包。第三条不要动不动就 sudo。如果提示权限不足多半是你操作错了环境或者工作站策略限制。除非管理员明确要求正常情况下 conda 和 pip 在你的用户目录和虚拟环境内操作都不需要 sudo。6.3 配合 PyCharm 或 VSCode 使用已建好的环境等你把命令行里的环境搞明白了把环境接到 IDE 里会极大提高效率。复旦工作站上大家常用的编辑方案有两种PyCharm在设置里找到 Project Structure 或 Settings Python Interpreter选择 Existing environment然后在 Interpreter 路径里填上 pytorch 环境里的 Python 解释器路径Linux 下是/home/用户名/anaconda3/envs/pytorch/bin/python3Windows 下是C:\Users\用户名\anaconda3\envs\pytorch\python.exe设置完后PyCharm 右下角会显示pytorch运行脚本时自动使用该环境的解释器。创建新项目时也可以直接选这个环境。VSCode安装 Python 扩展后按 CtrlShiftP 打开命令面板输入Python: Select Interpreter在弹出的列表里选择 pytorch 环境。如果没有出现点击 “Enter interpreter path”手动指定上面那个路径。之后开终端时 VSCode 也会自动激活该环境。6.4 工作站的常见坑环境变量残留与版本混乱最后一个常见坑来自工作站的多用户特性。别人可能在自己配置过 Anaconda并把一些环境变量写在系统级别的配置里比如/etc/profile或者他配置的.bashrc在别人的账号下也生效。你再打开终端可能会发现conda命令的 default env 变成了别人建的环境或者python指向了路径 Apip却指向了路径 B。遇到这种情况先执行type -a pythonLinux或where pythonWindows看一下实际被调用的 Python 在哪然后用conda env list查看环境列表最后手动激活自己的环境即可。问题通常不是出在你自己的配置上而是环境变量冲突理清楚后直接激活目标环境就好。另外在共享工作站上不同用户有时会用同一个系统账号这意味着大家共享同一个~/.bashrc。如果你在安装时选择了初始化 conda会对所有人生效。建议在用户名目录下建一个专门的环境目录比如~/envs创建环境时用--prefix参数指定绝对路径这样不同人的环境不至于互相污染conda create --prefix ~/envs/pytorch python3.11但这种做法会让环境路径变得很长激活命令也得写绝对路径适合长期维护的场景。如果是课程作业短期使用直接用-n pytorch的普通方式更方便。我在工作站上反复折腾过几轮之后最大的感触是环境配置这种事慢就是快。花 20 分钟把 Anaconda 的安装、镜像源配置、虚拟环境创建这些基础功打扎实后面无论换哪台工作站、跑哪个框架都只是复制粘贴命令的事。如果一上来就想着省事直接往系统里塞包前期省下的时间后面都会以更痛苦的方式还回来。
返回列表