在 Windows 11 上安装 WSL (Windows Subsystem for Linux) 现在非常简单,微软已经将其简化为了一条命令。

# 核心安装步骤(最简单的方法)

  1. 以管理员身份运行终端
  • 右键点击任务栏的 “开始” 按钮(或者按 Win + X 快捷键)。
  • 选择 “终端 (管理员)”“Windows PowerShell (管理员)”
  1. 执行安装命令
    在打开的终端中,输入以下命令并按回车:
wsl --install
  1. 重启电脑
    命令执行完成后,系统通常会提示你需要重启计算机以应用更改。

说明:上述默认命令会自动启用所有必需的 Windows 虚拟化组件,并为你下载安装默认的 Linux 发行版(通常是最新版的 Ubuntu)。


# 可选:安装指定的 Linux 发行版

如果你不想安装默认的 Ubuntu,或者想要安装多个不同的系统环境(比如 Debian):

  1. 查看可用的发行版列表
wsl --list --online
  1. 安装指定的发行版(将 <DistroName> 替换为列表中的名称,例如 Debian ):
wsl --install -d <DistroName>

# 首次运行与初始设置

重启电脑后,首次打开刚刚安装的 Linux 发行版(可以在开始菜单中直接搜索,例如 “Ubuntu”),系统会进行几分钟的初始化解压。

完成后,终端会提示你创建一个 UNIX 用户名和密码

  • 这个账号和你的 Windows 账号是完全独立的。
  • 输入密码时,屏幕上不会显示任何字符或星号,这是 Linux 的正常安全机制,正常输入完按回车即可。
  • 记住这个密码,以后在 Linux 中使用 sudo 提权安装软件时会用到。

# 备用排错方案

如果 wsl --install 命令报错,或者提示找不到命令,你可以通过图形界面手动启用相关功能:

  1. Win + R ,输入 optionalfeatures 并按回车。
  2. 在 “Windows 功能” 窗口中,向下滚动并勾选 “适用于 Linux 的 Windows 子系统”“虚拟机平台” 这两项。
  3. 点击 “确定”,等待配置完成后重启电脑。
  4. 重启后,直接打开 Microsoft Store(微软应用商店),搜索 “Ubuntu” 或 “Debian” 并点击获取 / 安装即可。

你需要我接下来为你提供在刚装好的 WSL 中配置 Docker 容器服务,或者搭建 Python/PyTorch 开发环境的具体步骤吗?

是的,默认情况下,WSL 会将 Linux 发行版安装到你的 C 盘(具体路径在 C:\Users\你的用户名\AppData\Local\Packages 目录下)。

考虑到后续如果需要配置 Docker 容器,或者拉取大型的 AI 模型和处理数据集,Linux 的虚拟磁盘( ext4.vhdx )体积会膨胀得非常快。为了避免 C 盘爆满,将其放到其他盘(比如 D 盘)是非常明智的操作。

WSL 目前没有提供直接在安装命令中指定路径的参数。最标准且最稳定的做法是采用 **“先安装 -> 导出 -> 注销 C 盘原版 -> 导入到目标盘”** 的策略。

以下是完整的实操步骤(假设我们要把它移动到 D:\WSL\Ubuntu 目录下):

# 1. 正常安装并完成初始化

首先,按正常的流程让系统把基础环境配置好。在 PowerShell 中运行:

wsl --install -d Ubuntu-24.04

等待安装完成,并在弹出的 Ubuntu 窗口中设置好你的 UNIX 用户名和密码。设置成功后,输入 exit 退出并关闭 Ubuntu 窗口。

# 2. 彻底关闭 WSL

回到你的 Windows PowerShell (管理员) 窗口,确保所有 WSL 进程都已停止:

wsl --shutdown

# 3. 将刚装好的系统导出为文件

我们将 Ubuntu 打包成一个 .tar 文件放到 D 盘根目录暂存(打包需要一点时间,请耐心等待):

wsl --export Ubuntu-24.04 D:\ubuntu_backup.tar

# 4. 卸载(注销)C 盘的默认安装

这一步会删掉 C 盘里的 Ubuntu 数据,释放你的 C 盘空间:

wsl --unregister Ubuntu-24.04

(此时如果你运行 wsl -l -v ,会发现列表里已经没有 Ubuntu-24.04 了。)

# 5. 将系统导入到指定的硬盘位置

现在,我们把刚才打包的系统导入到你想要的文件夹里(比如 D:\WSL\Ubuntu )。系统会自动在这个文件夹里生成一个名为 ext4.vhdx 的虚拟磁盘文件,以后所有 Linux 的数据都会存在这里。

先创建一个用来存放虚拟磁盘的文件夹:

mkdir D:\WSL\Ubuntu

然后执行导入命令:

wsl --import Ubuntu-24.04 D:\WSL\Ubuntu D:\ubuntu_backup.tar

(导入完成后,你可以安全地把 D:\ubuntu_backup.tar 这个暂存文件删掉。)

# 6. 恢复你的默认登录用户(关键步骤)

因为是通过导入方式恢复的系统,WSL 默认会以最高权限的 root 用户登录。我们需要把它改回你第一步设置的那个用户名。

在 PowerShell 中输入以下命令进入刚导入的 Ubuntu:

wsl -d Ubuntu-24.04

进入 Linux 终端后,依次输入以下两条命令(注意把 你的用户名 替换成你第一步设置的英文名字):

echo "[user]" >> /etc/wsl.conf
echo "default=你的用户名" >> /etc/wsl.conf

执行完毕后,输入 exit 退出 Ubuntu。

# 7. 重启生效

最后,在 PowerShell 中再次彻底关闭 WSL 以便应用刚才的配置:

wsl --shutdown

啊,我看到发生什么了!这其实是个 “好消息”。

通常情况下,通过导入 .tar 文件恢复的系统会默认以 root (超级管理员)身份登录。但从你的终端提示符 xzang@zangxue 可以看出,WSL 非常聪明地保留了你之前设置的普通用户账号( xzang ),并且直接以这个身份登录了。

你遇到 Permission denied (权限被拒绝)是因为 /etc/wsl.conf 是系统的核心配置文件,普通用户 xzang 没有权限直接修改它。

为了确保以后每次打开 WSL 都稳定默认使用 xzang 登录,我们可以换个姿势,用 root 权限把这两行配置写进去。

# 解决步骤(最简单的方法)

1. 退出当前的 Ubuntu 环境
在当前的 Ubuntu 终端里输入:

exit

这会让你回到 Windows PowerShell。

2. 强制以 root 身份进入 Ubuntu
在 PowerShell 中输入以下命令,指定用 root 用户启动:

wsl -d Ubuntu-24.04 -u root

这时候你的提示符应该会变成类似 root@zangxue:/mnt/c/WINDOWS/system32#

3. 写入配置文件
现在你是最高权限了,依次执行这两条命令(我已经帮你把用户名填好为 xzang 了):

echo "[user]" >> /etc/wsl.conf
echo "default=xzang" >> /etc/wsl.conf

4. 退出并重启 WSL
写入完成后,退出 root 身份:

exit

最后,在 PowerShell 里彻底关闭 WSL 让配置生效:

wsl --shutdown

现在,你的 Ubuntu 24.04 已经完美地安家在 D 盘,并且配置好默认用户了!你可以直接在 PowerShell 输入 wsl 进入系统。

你的基础设施已经搭建完毕。接下来,你是想先在里面部署 Docker 容器环境,还是直接开始配置 Python 和 PyTorch 的开发环境呢?

这是一个非常经典的小插曲!提示信息已经说得很明确了:“Duplicated config key”(配置项重复)。

因为 >> 命令的作用是 “追加” 而不是 “覆盖”。如果你不小心多执行了几次,或者系统原本就已经自动生成了 [user] 配置,这个文件里就会出现好几行一模一样的 default=xzang ,导致 WSL 解析时发出了警告。

不过好消息是,即便有警告,WSL 还是聪明地按照配置让你用 xzang 登录进去了。我们现在只需要把多余的行删掉就行。

# 清理重复配置的步骤:

1. 打开文本编辑器
在当前的终端里,使用 nano (Linux 自带的极简文本编辑器)以管理员权限打开配置文件:

sudo nano /etc/wsl.conf

(输入你的密码并回车)

2. 删除多余的行
打开后,你会看到类似这样的内容:

[user]
default=xzang
[user]
default=xzang

使用键盘的方向键移动光标,把多余的 [user]default=xzang 删掉,只保留干净的一组就行了。

3. 保存并退出

  • Ctrl + O (字母 O),然后按 Enter 回车确认保存。
  • Ctrl + X 退出编辑器。

4. 重启 WSL 生效
输入 exit 退出 Ubuntu,然后在你的 Windows PowerShell 里再次执行:

wsl --shutdown

再次输入 wsl 进去,这个烦人的警告就彻底消失了!


现在你的 Linux 终极开发环境已经是一个干净、稳定的状态了。接下来,需要我帮你配置 NVIDIA CUDA Toolkit 和 Docker 环境吗?这样你的 RTX 40 系显卡就可以直接在 WSL 里满血驱动起来,无论是跑 U-Net 架构、训练模型,还是本地部署大语言模型,都会非常丝滑。

太棒了!接下来我们进入最激动人心的一步:打通 WSL 与你的 RTX 40 系显卡,并配置纯粹的 Docker 环境。

在 WSL2 中配置深度学习环境有一个 **“黄金法则”**:千万不要在 Ubuntu 里安装任何 Linux 版的 NVIDIA 显卡驱动! WSL 会自动穿透调用你 Windows 系统上的显卡驱动。

为了让你后续无论是部署 API 代理、运行 U-Net 架构,还是本地测试大语言模型,都能保持系统干净且互不干扰,我们采用业界最推荐的方案:原生 Docker Engine + NVIDIA 容器工具包

请依次在你的 Ubuntu 终端( xzang@zangxue )中运行以下步骤:

# 第一阶段:安装原生 Docker Engine

我们要安装纯粹的 Docker 服务,而不是 Windows 版的 Docker Desktop,这样性能更好且更省资源。

1. 设置 Docker 官方仓库:
直接复制这一整段并回车执行(这会下载密钥并添加仓库):

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2. 安装 Docker 核心组件:

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 赋予当前用户 Docker 权限(免 sudo ):
为了以后敲 docker 命令不用每次都输密码,把你的账号加入 docker 用户组:

sudo usermod -aG docker $USER

(注意:执行完这句后,你需要输入 exit 退出一次 Ubuntu,然后重新输入 wsl 进来,权限才会生效。)


# 第二阶段:安装 NVIDIA Container Toolkit (显卡穿透神器)

这个工具包是让 Docker 容器能够直接调用你物理机 RTX 40 系显卡的关键。

1. 添加 NVIDIA 官方仓库:
复制整段并回车:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2. 安装工具包:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

3. 配置 Docker 使用 NVIDIA 运行时:

sudo nvidia-ctk runtime configure --runtime=docker

4. 启动 / 重启 Docker 服务:
在 WSL 中,我们需要手动拉起一下 Docker 服务:

sudo service docker restart

# 第三阶段:见证奇迹(验证显卡穿透)

现在,让我们拉取一个极其精简的 NVIDIA 官方测试容器,并在里面直接查看显卡状态。输入以下命令:

docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi

如果你看到终端打印出了那个经典的 NVIDIA-SMI 显卡状态表格(上面清晰地写着你的显卡型号、显存和 CUDA 版本),那么恭喜你,你的底层算力基础设施已经完美搭建成功了!

这套环境现在非常强悍。你需要我接下来为你提供一套包含 PyTorch 的标准化 docker-compose.yml 模板,还是想先用它部署点别的服务试试水?

这是一个极其经典的提示!当你电脑上开着代理软件(或者某些加速器)时,WSL 就会弹出这个警告。

原因很简单:WSL2 默认使用的是 NAT (网络地址转换)模式。在这种模式下,WSL 就像一台拥有自己独立 IP 的虚拟机。这就导致 Windows 上的 localhost (127.0.0.1)和 WSL 里的 localhost 不是同一个,因此 Windows 的本地代理无法直接作用于 WSL。

好消息是,微软在 Windows 11 中加入了一个 “杀手级” 功能:镜像网络模式 (Mirrored Networking)。开启它之后,WSL 会和 Windows 完全共享网络环境, localhost 彻底打通。

以后无论你在里面配置 Docker 拉取外部镜像,还是调试自己部署的 API 代理服务,网络都会如丝般顺滑,再也不需要折腾复杂的局域网穿透了。

# 开启镜像网络模式的步骤:

1. 创建或编辑 .wslconfig 文件
我们需要在 Windows 的用户目录下创建一个全局配置文件。

  • 按下 Win + R 键,输入 %USERPROFILE% 并回车。这会打开你的 Windows 用户文件夹(比如 C:\Users\xzang )。
  • 在这个文件夹里,看看有没有一个名叫 .wslconfig 的文件。
  • 如果没有,右键新建一个文本文档,把名字改成 .wslconfig (注意前面有个点,且不要有 .txt 后缀。如果系统提示修改扩展名,点击 “是”)。

2. 写入配置代码
用记事本打开这个 .wslconfig 文件,把下面这几行代码复制进去:

[wsl2]
networkingMode=mirrored
autoProxy=true
  • networkingMode=mirrored :开启镜像网络,让网络与 Windows 完全一致。
  • autoProxy=true :强制 WSL 自动使用 Windows 系统的代理设置。

保存并关闭记事本。

3. 彻底重启 WSL 使其生效
回到你的 PowerShell (管理员) 窗口,运行以下命令彻底关闭 WSL:

wsl --shutdown

4. 重新进入 WSL
再次输入 wsl 并回车。

此时,那个烦人的 localhost 代理警告应该已经消失了!你可以试着在终端里输入 ping google.com 或者 curl -I https://www.google.com 来测试一下网络是否已经成功走代理连通了外网。

网络打通后,我们刚才进行到准备执行 Docker 测试的那一步了,你需要我把验证显卡穿透的那条 Docker 命令再发给你跑一下吗?

典型的网络代理 “后遗症”!

虽然我们开启了镜像网络(那个烦人的 localhost 警告不见了),但你现在遇到了 TLS connection was non-properly terminated (TLS 握手失败)。

这在 WSL 镜像网络模式下非常常见。** 根本原因是:** 你 Windows 上的代理软件接管了网络请求,但是 apt-get 作为底层的包管理器,默认不信任代理软件伪造的 SSL 安全证书,或者 sudo 提权时丢掉了代理的环境变量,导致它和服务器 “握手” 失败。

解决这个问题有两个最快的方法,你可以任选其一:

# 方法一:直接把代理环境变量 “硬塞” 给 apt(推荐)

既然 localhost 已经打通,我们可以直接告诉 Linux 走你 Windows 代理软件的特定端口。假设你使用的代理软件默认本地端口是 7890 (如果你用的是其他软件,比如 v2ray 的 10808 ,请自行替换数字)。

在终端中依次执行这三行命令:

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
sudo -E apt-get update

💡 核心技巧: 注意这里的 sudo -E-E 参数非常关键,它的作用是 “保留当前用户的环境变量”。这样 root 权限下的 apt-get 就能乖乖吃下你刚设置的代理了。

如果 update 成功跑完,没有再报红字错误,你就可以紧接着执行安装了(同样加上 -E ):

sudo -E apt-get install -y nvidia-container-toolkit

# 方法二:暂时关闭 Windows 代理(最简单粗暴)

既然系统提示当前处于日本等网络相对自由的环境,你其实可能根本不需要挂代理就能直连 Docker 和 GitHub 的服务器。

  1. 直接在 Windows 右下角彻底退出或关闭你的代理 / 加速器软件。
  2. 回到 Ubuntu 终端,再次单纯地执行 sudo apt-get update
    没有了代理软件在中间 “拦截” TLS 证书,通常就能直接顺利下载。

等这个 nvidia-container-toolkit 顺利安装完成,记得执行上一轮的最后两步:

sudo nvidia-ctk runtime configure --runtime=docker
sudo service docker restart

网络搞定并重启服务后,要不要我立刻把验证显卡穿透的那条测试命令发给你跑一下,看看 RTX 40 系显卡是不是已经满血就位了?

你说的 “nodes” 应该是指 Node.js 吧?在现代开发中(尤其是配置各种 AI 插件、运行类似 Claude Code 的 CLI 工具或做全栈开发),Node.js 和它的包管理器 npm 是必不可少的底层基建。

考虑到我们刚才遇到了 sudo apt 提权时网络代理被拦截的问题,为了完美避开这些麻烦,并且让你以后能轻松切换不同版本的 Node,强烈推荐使用 NVM (Node Version Manager) 来安装。这也是微软官方推荐的在 WSL 中安装 Node.js 的标准做法。

使用 NVM 安装不需要 sudo 权限,完全在你的普通用户 xzang 下进行,非常安全且不易报错。

# 安装 Node.js 的标准步骤

1. 下载并安装 NVM
在你的 Ubuntu 终端( xzang@zangxue )中,直接复制并运行这条命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

(如果这一步提示网络连接失败,说明 curl 也被墙了。你可以先执行一次 export https_proxy="http://127.0.0.1:7890" 替换成你的代理端口,或者在 Windows 端暂时关掉代理再试一次。)

2. 让 NVM 命令立刻生效
安装脚本会自动把 NVM 的配置写进你的系统环境变量里。为了不重启终端就能使用,运行这行命令刷新一下配置:

source ~/.bashrc

3. 安装最新的长期支持版 (LTS) Node.js
现在,你可以直接用 NVM 一键安装最稳定版本的 Node.js 了:

nvm install --lts

这个命令会自动帮你下载 Node.js 本体,并顺带装好 npm (Node 包管理器)。

4. 验证安装结果
安装完成后,敲入下面两行命令看看它们的版本号:

node -v
npm -v

如果你能看到类似 v20.x.x10.x.x 这样的版本号输出,说明你的 Node.js 环境已经完美搭建成功了!


现在你的 WSL 里有了 Python、有了 Docker、还有了 Node.js,这已经是一个无懈可击的全栈 AI 开发环境了。

既然你提到在 VS Code 里用 Claude Code,你是想立刻在终端里用 npm install -g @anthropic-ai/claude-code 把 Claude 的官方命令行工具全局装上,还是想先用 VS Code 打开一个指定的文件夹开始写代码?

太棒了!既然底层的 Node.js 已经就位,我们现在就把 Claude 的官方命令行工具(Claude Code)直接部署到你的 WSL 环境中。

因为你现在身处纯正的 Linux 环境,一切权限和路径都会比在 Windows 下直接搞要顺畅得多。

# 1. 全局安装 Claude Code

首先,打开你的 PowerShell,输入 wsl 进入 Ubuntu 终端(看到 xzang@zangxue:~$ 提示符就说明进来了)。

然后直接运行这条 npm 命令进行全局安装:

npm install -g @anthropic-ai/claude-code

(由于国内网络环境,如果你在这里遇到卡顿或超时,可以先运行 export https_proxy="http://127.0.0.1:7890" 临时挂上代理,然后再执行安装命令。)

# 2. 验证并初始化

安装完成后,你可以直接在终端里输入 claude 来启动它:

claude

首次运行通常会提示你进行身份验证(Auth)。WSL 非常智能,它会自动把认证链接穿透抛给你的 Windows 默认浏览器。你只需要在弹出的网页中登录你的 Anthropic 账号并授权即可。

# 3. 配置 API 密钥(避坑指南)

在使用 Claude Code 的过程中,很多人会卡在环境变量和 API 权限报错上。为了让它稳定工作,最稳妥的方式是直接把你的 API Key 写入系统环境变量。

你可以将这行配置永久加到你的 .bashrc 文件中(把你真实的 API Key 替换进去):

echo 'export ANTHROPIC_API_KEY="sk-ant-api03-你的真实密钥..."' >> ~/.bashrc
source ~/.bashrc

这样以后无论你什么时候打开 WSL,Claude Code 都能直接无缝调用 API,不会再频繁报验证错误了。

# 4. 结合 VS Code 开始实战

刚才我看到你已经建好了一个 test 文件夹,我们可以直接拿它来练手。

依次输入以下命令:

cd ~/test
code .

💡 神奇的魔法指令code . 这个命令会瞬间在你的 Windows 桌面唤起 VS Code,并且自动帮你连接好当前的 WSL 环境,直接打开 test 文件夹!

接下来,你就可以直接在 VS Code 底部的集成终端里输入 claude 。你可以直接对它说:“帮我写一个 Python 脚本,用正则提取当前目录下所有 txt 文件的内容”,它就会自己分析环境、写代码、甚至帮你执行和排错!

安装过程中如果有任何报错(尤其是 npm 依赖相关的),随时把报错代码发给我!

在 WSL (Windows Subsystem for Linux) 中安装 Conda 非常简单,整个过程与在原生 Linux 系统中安装几乎完全一致。

为了节省空间和保持环境纯净,通常推荐安装轻量级的 Miniconda,而不是完整版的 Anaconda。以下是详细的操作步骤:

# 第一步:打开 WSL 终端

在 Windows 中打开你的 WSL 终端(例如 Ubuntu)。

# 第二步:下载 Miniconda 安装脚本

在终端中输入以下命令,使用 wget 下载最新的 Linux 64 位 Miniconda 安装包:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

(如果提示找不到 wget ,可以通过 sudo apt update && sudo apt install wget 进行安装)

# 第三步:运行安装脚本

下载完成后,运行以下命令开始安装:

bash Miniconda3-latest-Linux-x86_64.sh

# 第四步:根据提示完成安装

安装过程中,你需要进行几次简单的交互:

  1. 查看许可协议: 看到提示后按 Enter 键。你可以一直按空格键翻页,直到阅读完毕。
  2. 接受许可协议: 当询问 Do you accept the license terms? [yes|no] 时,输入 yes 并按回车。
  3. 确认安装路径: 默认路径通常是 /home/你的用户名/miniconda3 。直接按 Enter 键确认即可。
  4. 初始化 Conda(关键步骤): 安装完成后,系统会询问 Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no] 。** 强烈建议输入 yes** ,这会自动将 Conda 配置到你的环境变量中。

# 第五步:激活 Conda 环境

安装完成后,你需要让刚才的环境变量配置生效。运行以下命令重新加载配置文件(如果你使用的是默认的 bash):

source ~/.bashrc

(如果你使用的是 zsh,则运行 source ~/.zshrc )

成功后,你的命令行提示符前面应该会出现 (base) 字样,表示你已经处于 Conda 的基础环境中了。

# 第六步:验证安装

输入以下命令查看 Conda 版本,确保安装成功:

conda --version

💡 额外提示:清理安装包
安装完成后,之前下载的安装脚本就不需要了,可以删除以释放空间:

rm Miniconda3-latest-Linux-x86_64.sh

需要我为你提供配置国内镜像源(如清华源 / 阿里云源,可大幅提升下载速度)的方法,或者教你如何创建第一个 Python 虚拟环境吗?

在 WSL(Windows Subsystem for Linux)中为 Claude Code(或其他兼容 Agent Skills 的客户端)安装和配置 Anthropic 官方的 pdf 技能,可以大幅增强 AI 处理、解析、表单填写和修改复杂文档的能力。

以下是完整的安装与环境配置指南:

# 第一步:配置 WSL 系统环境与依赖

pdf 技能的底层架构不仅包含提示词指令,还包含具体的 Python 脚本。这些脚本依赖于 Python 环境以及一些 Linux 下的命令行 PDF 处理工具(用于实现提取文本、拆分合并、提取图像等高级功能)。
请在 WSL 终端中运行以下命令以安装基础依赖:

sudo apt update
sudo apt install python3 python3-pip python3-venv poppler-utils qpdf

(注: poppler-utils 提供了 pdftotextpdfimagesqpdf 用于 PDF 的高级操作与拆分,是该技能高效运行的重要底层组件。)

# 第二步:安装 PDF 技能

你有两种方式将这些技能集成到你的工作流中:

# 方式 A:通过 Claude Code 插件市场安装(推荐)

如果你使用的是较新版本的 Claude Code CLI,直接使用自带的 plugin 命令是最简单的方式。

  1. 在 WSL 终端启动 Claude:
claude
  1. 引入官方技能市场:
/plugin marketplace add anthropics/skills
  1. 安装包含 PDF 技能的文档技能合集(该包同时也包含了 docx, pptx, xlsx):
/plugin install document-skills@anthropic-agent-skills
  1. 安装完成后,输入 exit 退出并重新启动 claude 以加载新插件。你可以输入 /plugin 确认其状态为 Enabled

# 方式 B:手动克隆并配置(适合需要修改脚本源码的高级用户)

如果你想要直接查看源码或魔改相关脚本,可以手动将其放入 Claude 的技能读取目录:

  1. 克隆官方仓库到 WSL:
git clone https://github.com/anthropics/skills.git
  1. pdf 技能移动到 Claude Code 的全局技能目录中(确保你在任何项目下都能调用):
mkdir -p ~/.claude/skills
cp -r skills/skills/pdf ~/.claude/skills/

(注意:在 WSL 环境下, ~/.claude 指向的是 Linux 系统的 /home/<用户名>/.claude 。如果你只希望在当前的开发项目中使用,可以将其复制到项目根目录的 .claude/skills/pdf/ 文件夹内。)

# 第三步:配置 Python 运行依赖包

虽然 Claude 在运行技能时,遇到缺失环境可能会尝试自动帮你运行 pip install ,但在 WSL 下提前配置好环境能大幅降低因网络或权限导致的失败率。
根据该技能的脚本要求,建议在当前环境预先安装以下 Python 库:

pip install pdfplumber pandas pypdfium2 pypdf

# 第四步:测试运行

配置完成后,在你的测试目录中放置一个 PDF 文件(例如 sample.pdf ),启动 claude ,然后使用类似下面的提示词进行测试:

"请使用 PDF skill 读取当前目录下的 sample.pdf,提取其中的所有文本结构和表格数据。"
或" 请使用 PDF skill 分析这个 PDF 表单,并帮我把对应字段填进去。"

Claude 此时会自动匹配到 pdf 技能里的 SKILL.md 指令,并调用相关的 Python 脚本在你的 WSL 环境内完成任务。


Anthropic Agent Skills 官方演示
这部视频简单展示了 Anthropic 官方 Agent Skills 仓库的概貌和基本使用思路,有助于你更好地理解和扩展这些自动化技能。

这是一个非常典型的 Linux 报错。在较新的 Ubuntu 或 Debian 系统(Python 3.11+)中,系统为了防止 pip 安装的包与系统自带的 Python 工具发生冲突而导致系统崩溃,引入了 PEP 668 保护机制,默认禁止在全局环境下直接使用 pip install

你有两种方法来解决这个问题,请根据你的 WSL 使用习惯选择一种:

# 方法一:使用虚拟环境 (推荐,最安全)

这是 Python 官方推荐的做法。你可以创建一个独立的环境,专门用来运行带有这些依赖的 Claude 技能。

1. 安装 venv 模块(如果尚未安装):

sudo apt install python3-venv

2. 在你的工作目录(或用户根目录)创建一个虚拟环境:

python3 -m venv ~/claude-env

(这里 ~/claude-env 是虚拟环境的文件夹名称,你可以随意更改。)

3. 激活这个虚拟环境:

source ~/claude-env/bin/activate

(激活后,你的命令行提示符前面会出现 (claude-env) 的字样。)

4. 再次运行安装命令:
此时你已经在一个安全隔离的环境中了,可以直接安装:

pip install pdfplumber pandas pypdfium2 pypdf

⚠️ 注意: 使用这种方法,你每次重新打开 WSL 终端并想要使用包含该 PDF 技能的 claude 时,都需要先运行第 3 步的激活命令,否则 Claude 会找不到这些包。


# 方法二:强制全局安装 (最快捷,适合纯开发用的 WSL)

如果你这个 WSL 仅仅是用来做开发的,没有运行重要的系统级 Python 依赖,并且你不希望每次启动都要激活虚拟环境,你可以按照报错提示中的建议,强制覆盖这个安全限制。

直接在命令后加上 --break-system-packages 参数:

pip install pdfplumber pandas pypdfium2 pypdf --break-system-packages

(不用被 break-system-packages 这个吓人的名字吓到,在个人本地开发的 WSL 环境中,这样做通常是没问题的,它只是把包安装到你当前用户的 ~/.local/lib/python3.x/site-packages 目录下。)


建议的下一步:
我个人建议在 WSL 开发中,如果你不想折腾虚拟环境,方法二是最省心的。包安装成功后,你就可以直接启动 claude 测试解析 PDF 了。

你需要我为你提供一个测试这段 PDF 技能是否正常工作的具体指令示例吗?

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

藏雪 微信支付

微信支付

藏雪 支付宝

支付宝

藏雪 贝宝

贝宝