1. 为什么要在 Cursor 里单独给 PyTorch 建 conda 环境
如果你刚开始学深度学习,大概率会遇到这样一个场景:电脑里装了好几个 Python 项目,有的用 TensorFlow,有的用 PyTorch,还有的只是跑个爬虫脚本。如果所有包都往全局环境里塞,迟早会出现版本打架——今天 PyTorch 要 CUDA 12.1,明天某个库又只兼容 numpy 1.x,最后连import torch都报错。
Cursor 本质上是基于 VS Code 深度定制的编辑器,它的 Python 插件、终端、调试器和 VS Code 几乎一致,所以环境隔离这件事必须靠 conda 来做。conda 虚拟环境能做什么?简单说就是给每个项目单独开一个"房间",房间里的 Python 版本、pip 包、CUDA 工具链互不干扰。你在这个房间里装 PyTorch 2.x,隔壁房间照样可以跑 PyTorch 1.x,谁也不影响谁。
这篇笔记面向的是刚接触深度学习、准备用 Cursor 写 PyTorch 代码的同学。我会从创建 conda 环境开始,一步步走到在 Cursor 里选中这个环境、装好 PyTorch、验证 GPU 是否可用,最后再接入 TaoToken 的统一 Key/API 通道,解决多工具之间密钥分散、环境变量到处复制的问题。整套流程走完,你应该能在本地跑通一个最小的 PyTorch 环境,并且完成一次 TaoToken 的连通性检查。
需要提前说明的是,TaoToken 在这里扮演的是"统一模型调用入口"的角色。你在 Cursor 里写代码、调试、让 AI 助手补全,背后可能要用到不同的模型服务,如果每个工具都单独配一套 Key,管理起来很麻烦。通过 TaoToken 的 API 通道,可以用一套 Key 覆盖多个调用场景,这也是我后面会重点配置的部分。
2. 前置准备:Anaconda、Cursor 与 TaoToken Key
动手之前,先把三样东西准备好。
第一是 Anaconda。它相当于一个 Python 工具合集,装完之后 conda 命令、Python 解释器、常用的科学计算库都会就位。去 Anaconda 官网下载对应系统的安装包,像装普通软件一样下一步下一步即可。安装完成后,打开终端输入conda --version,能打印出版本号就说明成功了。
第二是 Cursor。它的界面和 VS Code 几乎一样:左边文件目录,中间代码编辑区,下面终端,右边是 AI 助手区。区别在于右侧的 AI 能力更强,能调用模型帮你改 bug、写函数。下载安装后,建议先在扩展市场里确认 Python 插件已经启用,因为后面选择解释器要靠它。
第三是 TaoToken 的 API Key。访问官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册后,进入控制台创建 Key。这里有个细节:Key 只在创建时完整显示一次,记得立刻复制保存到安全的地方。TaoToken 的 API 基础地址是 https://taotoken.net/api,这个地址后面配置环境变量和请求时都会用到。
提示:不要把 API Key 直接写进代码文件里再提交到 Git。正确做法是放进环境变量或者本地不被追踪的配置文件,后面我会给出具体写法。
三样东西齐了,就可以开始建环境了。
3. 在 Cursor 中创建并激活 conda 虚拟环境
3.1 用命令创建环境
打开 Cursor,按Ctrl+`调出终端。我习惯直接用命令行创建,因为参数清晰、可复现。假设项目叫pytorch-demo,想要 Python 3.10:
conda create -n pytorch-demo python=3.10 -y-n指定环境名,python=3.10锁定版本,-y跳过确认。执行完会看到 conda 下载并安装基础包。创建完成后激活:
conda activate pytorch-demo激活后终端提示符前面会出现(pytorch-demo),说明当前会话已经进入这个环境。你可以用which python(Windows 用where python)确认解释器路径指向 conda 环境目录,而不是系统全局的 Python。
3.2 在 Cursor 界面里选中这个环境
命令行激活只对当前终端生效,Cursor 的代码编辑、调试、AI 补全还需要单独指定解释器。操作方式:打开任意.py文件,点击右下角的状态栏,会弹出系统中所有 Python 环境列表,找到刚创建的pytorch-demo选中即可。选中后 Cursor 会在项目根目录生成.vscode/settings.json,记录解释器路径。
如果你更喜欢手动控制,也可以直接编辑这个文件。下面是一个配置骨架:
{ "python.defaultInterpreterPath": "~/anaconda3/envs/pytorch-demo/bin/python", "python.terminal.activateEnvironment": true, "terminal.integrated.env.linux": { "TAOTOKEN_API_KEY": "你的Key", "TAOTOKEN_BASE_URL": "https://taotoken.net/api" } }Windows 用户的路径类似C:\\Users\\你的用户名\\anaconda3\\envs\\pytorch-demo\\python.exe,注意反斜杠要转义。python.terminal.activateEnvironment设为 true 后,每次在 Cursor 里新建终端都会自动激活当前环境,省去手动conda activate的步骤。
3.3 安装 PyTorch
环境激活后,先看一眼里面有什么:
pip list你会发现没有 torch。去 PyTorch 官网的选择器里挑对应 CUDA 版本的安装命令,比如 CUDA 12.1 的写法:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121如果你没有 NVIDIA 显卡,或者只想先用 CPU 跑通流程,把--index-url换成 CPU 版本即可。安装完成后再次pip list,能看到 torch 就说明装好了。
4. 接入 TaoToken:统一 Key 与环境变量配置
4.1 为什么要统一通道
学到后面你会发现,Cursor 的 AI 助手、自己写的脚本、可能还有别的命令行工具,都要调用模型服务。如果每个地方都填一遍 Key,改一次要改好几处,还容易泄露。TaoToken 的思路是提供一个统一的 API 入口,你只需要维护一套 Key 和 Base URL,各个工具都指向它。
4.2 环境变量的两种写法
第一种是写进 Cursor 的settings.json,就是上面 3.2 里那段terminal.integrated.env,这样 Cursor 内置终端启动时会自动带上这两个变量。
第二种是写进项目根目录的.env文件,配合python-dotenv读取,适合脚本调用:
TAOTOKEN_API_KEY=你的Key TAOTOKEN_BASE_URL=https://taotoken.net/api然后在 Python 里这样读:
import os from dotenv import load_dotenv load_dotenv() api_key = os.getenv("TAOTOKEN_API_KEY") base_url = os.getenv("TAOTOKEN_BASE_URL") print("Key 已加载:", bool(api_key)) print("Base URL:", base_url)记得把.env加进.gitignore,避免误提交。
4.3 在 Cursor 的 AI 配置里指向 TaoToken
如果你希望 Cursor 的 AI 助手也走 TaoToken 通道,可以在 Cursor 的设置里找到模型/API 相关配置项,把 Base URL 填成https://taotoken.net/api,Key 填 TaoToken 的 Key。具体入口在 Cursor 设置面板的模型区域,不同版本位置略有差异,按界面提示操作即可。配置完成后,Cursor 的补全和对话请求就会经过 TaoToken 转发。
5. 验证:一次请求确认 PyTorch 与 TaoToken 都通了
环境配好了,得验证两件事:PyTorch 能不能用 GPU,TaoToken 通道能不能通。
先验证 PyTorch:
import torch print("PyTorch 版本:", torch.__version__) print("CUDA 是否可用:", torch.cuda.is_available()) if torch.cuda.is_available(): print("GPU 型号:", torch.cuda.get_device_name(0))如果torch.cuda.is_available()返回 True,说明 GPU 可以被 PyTorch 调用。返回 False 的话,先确认显卡驱动和 CUDA 版本是否匹配,再检查安装命令里的cu121是否和本机 CUDA 对应。
再验证 TaoToken 连通性。用 requests 发一个最小请求:
import os import requests from dotenv import load_dotenv load_dotenv() headers = { "Authorization": f"Bearer {os.getenv('TAOTOKEN_API_KEY')}", "Content-Type": "application/json" } payload = { "model": "claude-3-5-sonnet", "messages": [{"role": "user", "content": "回复两个字:连通"}] } resp = requests.post( f"{os.getenv('TAOTOKEN_BASE_URL')}/v1/messages", headers=headers, json=payload, timeout=30 ) print("状态码:", resp.status_code) print("返回:", resp.text[:200])状态码 200 且返回内容里有正常回复,就说明 Key 和 Base URL 都配置正确。如果返回 401,检查 Key 是否复制完整;返回 404,检查 Base URL 有没有多写或少写路径。
你也可以直接在浏览器里打开模型对话页面做一次手动验证,确认账号和 Key 状态正常。
6. 本篇常见报错与排查
报错一:conda: command not found说明 Anaconda 没装好或者没加进 PATH。Windows 用户重新运行安装程序勾选"添加到 PATH",macOS/Linux 用户检查~/.bashrc或~/.zshrc里有没有 conda 的初始化脚本。
报错二:Cursor 右下角找不到刚创建的环境先确认环境确实创建成功(conda env list能看到),然后重启 Cursor 或按Ctrl+Shift+P执行 "Python: Select Interpreter" 手动刷新列表。
报错三:torch.cuda.is_available()返回 False最常见的原因是安装的 torch 是 CPU 版本,或者 CUDA 版本和驱动不匹配。用pip list看 torch 版本号后面有没有+cu121之类的标记,没有就说明装的是 CPU 版,需要按官网命令重装。
报错四:TaoToken 请求返回 401Key 错误或过期。去控制台重新生成一个,注意复制时不要带空格。如果 Key 放在.env里,确认load_dotenv()在读取之前调用。
报错五:请求超时检查网络是否能访问https://taotoken.net/api,可以用curl -I https://taotoken.net/api看返回头。如果公司网络有限制,换一个网络环境再试。
报错六:ModuleNotFoundError: No module named 'dotenv'忘了装依赖,执行pip install python-dotenv即可。
7. 下一步:把环境用起来
到这里,conda 环境、PyTorch、Cursor 解释器、TaoToken 通道都已经打通。接下来你可以做几件事:
如果你主要用 Cursor 写代码、让 AI 帮你补全和调试,建议去控制台把 API Key 管理好,并阅读接入文档了解不同模型的调用参数,地址分别是 API Keys 页面和接入文档页面。如果你打算长期用 AI 辅助编码、跑 Agent 任务,可以了解一下 Coding Plan,它更适合高频调用场景。如果只是想先验证模型效果,直接打开模型对话页面聊几句最直观。
我自己的习惯是:每开一个新项目,先conda create一个干净环境,把.env和settings.json配好,然后跑一遍上面那两段验证代码。确认 torch 和 TaoToken 都通了,再开始写正式代码。这样能避免写到一半才发现环境有问题,回头排查成本更高。
下一篇笔记我会记录如何用这个环境跑通第一个卷积神经网络,把数据加载、模型定义、训练循环串起来。环境这关过了,后面就顺了。