本教程面向从未用过终端、也没写过代码的零基础读者。你将学会在三套主流操作系统(macOS、Windows、Linux)上安装 Claude Code、完成首次登录、跑通第一个交互会话,并最终让它帮你从零造出一个销售数据分析器——它能读取 CSV、自动清洗数据、算出关键指标、画出图表,并生成一份网页报告。学完后,你将掌握"用大白话描述需求 → 让 AI 产出可运行代码 → 自己验证与修复"这条最小闭环。
在开始前,请确认你具备以下条件(缺一不可的部分我会标注):
claude.ai。不需要你事先懂任何命令行语法。本教程每一步都给出"复制这一行、粘贴、回车"级别的指令。
终端就是"用文字和电脑对话"的窗口。不同系统打开方式不同:
macOS:按 Cmd + 空格 调出聚焦搜索,输入 Terminal(终端),回车。
Linux:按 Ctrl + Alt + T,或在应用菜单里搜索"终端"。
Windows:按 Win + X,选择 Windows PowerShell(或"终端")。
⚠️ 常见问题:Windows 有两个命令行程序——PowerShell 和 CMD,长得像但命令不同。请务必确认你在 PowerShell:它的提示符以
PS C:\开头;CMD 则只有C:\,没有PS。后续步骤在两者里命令不同,认错会报错。
打开后你会看到一个闪烁光标的窗口,这就是你的"战场"。
Anthropic 官方目前首推原生安装器(Native Install),它不再依赖 Node.js/npm,且会后台自动更新。把下面对应你系统的那一行原样复制,粘贴到终端,回车:
macOS / Linux / WSL(推荐):
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell(推荐):
irm https://claude.ai/install.ps1 | iex
Windows CMD(不推荐,仅 PowerShell 不可用时):
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
预期结果:屏幕滚动一些文字,几秒到几十秒后出现类似 Claude Code successfully installed!(安装成功)的提示。
其它安装方式(按需选用):
| 方式 | 命令 | 自动更新 |
|---|---|---|
| Homebrew(macOS/Linux) | brew install --cask claude-code |
否,需手动 brew upgrade claude-code |
| WinGet(Windows) | winget install Anthropic.ClaudeCode |
否,需手动 winget upgrade Anthropic.ClaudeCode |
| npm(老方法) | npm install -g @anthropic-ai/claude-code |
否,需 npm update -g |
常见问题与解决: - 报错
The token '&&' is not a valid statement separator→ 你在 PowerShell 里跑了 CMD 命令,改用 PowerShell 那行。 - 报错'irm' is not recognized→ 你在 CMD 里跑了 PowerShell 命令,改用 CMD 那行。 - 报错syntax error near unexpected token '<'、403或其它 curl 错误 → 通常是网络代理/防火墙拦截,尝试切换网络或配置代理后重试;也可改用 Homebrew/WinGet 方式绕开 curl。 - Windows 用户若希望 Claude Code 拥有 Bash 能力:去git-scm.com/downloads/win下载安装 Git for Windows,全程"下一步"即可。
在终端输入并回车:
claude
首次启动会提示你登录。屏幕会给出一个网址,并自动(或手动)打开浏览器,跳转到 Anthropic 登录页。用你的 Claude 订阅账号或 Console 账号完成授权,回到终端即可看到欢迎界面。
预期结果:终端进入交互式会话,底部出现输入框,光标等待你打字。
想切换账号或重新登录?在会话里输入斜杠命令
/login即可,无需重启。 常见问题:浏览器没自动弹出?手动复制终端里显示的那串 URL 到浏览器地址栏即可。
登录后你已经在和 Claude Code 对话了。它全程用文字交互——你打字、回车发送,它回复并可能动手改文件/跑命令。请先记住这五条"保命操作":
Esc:打断正在运行的 Claude(它跑飞了就按这个)。Ctrl + C:取消当前输入。Ctrl + D 或输入 exit:退出 Claude Code。/help:查看所有可用命令。/clear:清空当前对话上下文(话题切换太多、它开始"犯迷糊"时用)。另外,终端里不能用鼠标点击,移动光标请用方向键。
当 Claude Code 要执行命令(比如装库、跑脚本)或修改文件时,会先弹出权限确认,问你是否允许。这是它的安全机制。新手可以这样选:
⚠️ 网上有些教程会让你加
--dangerously-skip-permissions跳过所有确认。零基础阶段强烈不建议——那等于让它"闭着眼开车",删错文件你都不知道。
现在用它来造东西。先在你的"文档"或任意文件夹里建个项目目录(路径自己定)。最简单的办法是直接用大白话让 Claude Code 帮你建——在会话里输入:
帮我在 ~/Documents 下新建一个叫 sales-analyzer 的文件夹,并进到里面。
它会请求权限执行 mkdir 和 cd,确认即可。然后让它初始化项目记忆:
/init
/init 会让 Claude Code 扫描当前目录、生成一份 CLAUDE.md——这是项目说明书,记录这是个什么项目、用什么技术、有哪些约定。以后每次在这个目录开会话,它都会先读这份文件,省得你每次重新解释。零基础时你可以让它先写个简单的,后面再补。
这是整个教程的关键。把下面这段需求原样发给它(你也可以按自己想法改):
我要做一个销售数据分析器,零基础,请帮我从零造出来。
要求:
1. 项目里有示例数据 sales.csv,列:date, product, region, quantity, price,你帮我造 50 行随机示例数据。
2. 写一个 Python 脚本 analyze.py,用 pandas 读取并清洗数据(去掉空行、把 quantity/price 转成数字、把 date 转成日期)。
3. 计算:总销售额、各产品销售额排名、各地区销售额、按月的销售额趋势。
4. 用 matplotlib 画两张图存成 PNG:各地区销售额柱状图、月度趋势折线图。
5. 把结果汇总成一个 report.html 网页报告,里面嵌入两张图和关键数字。
6. 最后把运行步骤写进 README,并帮我装好依赖、跑通一次。
发送后,你会看到它一步步动手:先建 sales.csv、再写 analyze.py、然后尝试 pip install pandas matplotlib(此处会请求权限,选 Yes)。它的思考与动作会实时显示在终端。
预期结果:最终目录长这样:
sales-analyzer/
├── CLAUDE.md
├── sales.csv
├── analyze.py
├── report.html
├── region_sales.png
├── month_trend.png
└── README.md
它生成的 analyze.py 大致会是下面这样(你可以对照检查,理解它做了什么):
# analyze.py — 销售数据分析器
import pandas as pd
import matplotlib.pyplot as plt
from pathlib import Path
# 1. 读取与清洗
df = pd.read_csv("sales.csv")
df = df.dropna() # 去空行
df["quantity"] = pd.to_numeric(df["quantity"], errors="coerce")
df["price"] = pd.to_numeric(df["price"], errors="coerce")
df["date"] = pd.to_datetime(df["date"], errors="coerce")
df = df.dropna()
df["revenue"] = df["quantity"] * df["price"] # 单行销售额
# 2. 关键指标
total = df["revenue"].sum()
top_products = df.groupby("product")["revenue"].sum().sort_values(ascending=False)
region_sales = df.groupby("region")["revenue"].sum()
df["month"] = df["date"].dt.to_period("M")
month_trend = df.groupby("month")["revenue"].sum()
print(f"总销售额:¥{total:,.2f}")
print("各产品销售额 Top:\n", top_products.head())
# 3. 画图
region_sales.plot(kind="bar", title="各地区销售额", color="#4C9F70")
plt.tight_layout(); plt.savefig("region_sales.png"); plt.close()
month_trend.plot(kind="line", marker="o", title="月度销售趋势", color="#2D6CDF")
plt.tight_layout(); plt.savefig("month_trend.png"); plt.close()
# 4. 生成 HTML 报告
html = f"""<html><body style="font-family:sans-serif;max-width:760px;margin:auto">
<h1>销售数据分析报告</h1>
<p>总销售额:<b>¥{total:,.2f}</b></p>
<h3>各地区销售额</h3><img src="region_sales.png" width="100%">
<h3>月度趋势</h3><img src="month_trend.png" width="100%">
<h3>产品排名</h3><pre>{top_products.to_string()}</pre>
</body></html>"""
Path("report.html").write_text(html, encoding="utf-8")
print("✅ 报告已生成:report.html")
运行它:
python analyze.py
预期输出:终端打印总销售额和产品排名,提示 ✅ 报告已生成:report.html;目录里多出两张 PNG 和一个 report.html。双击 report.html 用浏览器打开,你就能看到带图表的报告——这就是你的第一个"作品"。
零基础最容易卡在"它跑通了,但我这边报错"。别慌,把报错的完整文字复制粘贴回会话,直接说:
运行 python analyze.py 报这个错,帮我修:<粘贴报错全文>
Claude Code 会自己分析、改文件,再让你重试。下面是最常踩的几个坑及修法:
| 报错关键词 | 原因 | 解决(或让它帮你解决) |
|---|---|---|
ModuleNotFoundError: No module named 'pandas' |
没装依赖 | 让它跑 pip install pandas matplotlib |
python: command not found(macOS/Linux) |
系统用 python3 |
改用 python3 analyze.py |
'python' 不是内部或外部命令(Windows) |
没装 Python 或没加进 PATH | 让它帮你装 Python 并配置环境变量 |
Permission denied |
没权限 | 确认你对自己的项目目录有读写权限 |
中文乱码 / UnicodeDecodeError |
编码问题 | 读取时指定 encoding="utf-8",Windows 终端可设 chcp 65001 |
| 图里中文显示成方框 □□□ | matplotlib 缺中文字体 | 让它加 plt.rcParams['font.sans-serif']=['SimHei'](Win)或 Arial Unicode MS(Mac) |
心法:永远把报错原文喂给它,不要自己描述"好像有个错"。它读原始报错远比读你的转述准。
跑通后,让它帮你把成果用 Git 存档(即使你不会 Git):
帮我把这个项目用 git 初始化、提交第一个版本,commit 信息你写。
它就会执行 git init、git add、git commit,并写一条规范的提交信息。这样万一以后改坏了,能随时回滚。让它加个 .gitignore 排除 __pycache__ 之类临时文件:
帮我加 .gitignore,忽略 Python 缓存和 venv。
上面的示例是随机数据。现在升级为真实场景:假设你手上有一份公司导出的订单 Excel(orders.xlsx,列名可能是英文/带空格)。在会话里说:
我有一份真实订单 orders.xlsx,列大概是 OrderDate, ProductName, Region, Qty, UnitPrice。
请改写 analyze.py:能自动识别这些列(列名可能带空格或大小写不同),做和之前一样的分析,
并加一个"销售额最高的 Top5 订单"明细。先别覆盖我原来的 analyze.py,新建 analyze_real.py。
这里你练到了三个进阶技巧: 1. 模糊需求处理——让它"猜"列名映射,体现它对脏现实数据的适应力; 2. 不覆盖原文件——养成"新逻辑先另存"的安全习惯; 3. 迭代式开发——在原有基础上加功能,而不是推倒重来。
跑通后,你会真切体会到:需求写得越具体,结果越准;写得模糊,它就按常见做法"猜",可能要来回改几轮。这是和 AI 协作最核心的一条经验。
flowchart TD
A[打开终端] --> B[原生安装器安装 Claude Code]
B --> C{安装成功?}
C -- 否 --> T[按报错排查/换 Homebrew·WinGet]
T --> B
C -- 是 --> D[claude 启动 + 首次登录]
D --> E[/init 生成 CLAUDE.md]
E --> F[用大白话描述需求]
F --> G[Claude Code 生成代码并请求权限]
G --> H[确认权限 → 运行/装依赖]
H --> I{跑通?}
I -- 报错 --> J[把报错原文喂回去 → 自动修复]
J --> H
I -- 成功 --> K[验证产物: 图表 + HTML 报告]
K --> L[用 Git 存档版本]
L --> M[替换真实数据 → 迭代升级]
https://code.claude.com/docs/en/quickstart —— 官方权威安装与首个会话流程。https://code.claude.com/docs/en/terminal-guide —— 面向"从没碰过终端"的图文教程,本教程主要依据。claude.ai 的可达性需提前测试;③ 权限确认环节新手易直接全选"Yes, don't ask again",应强调逐条确认的安全意识。[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
