番外篇

开发环境搭建

Tips

四合一最小可用开发环境:WSL(Windows 上的 Linux)+ Linux 命令行与 PATH + Python 环境(含 uv)+ 服务器与 SSH + VSCode。装完就能写代码、连服务器、部署项目。

  • 环境一次配好,后面几年受益。花一个下午搞定
  • 遇到环境报错 → 复制报错信息丢给 AI,让它帮你修
  • WSL 里 code . 能在 Windows 的 VS Code 里打开当前 Linux 目录
  • 不要用 Windows 原生的 PowerShell/CMD 搞开发——各种坑,迟早要切 WSL

WSL:Windows 上的 Linux

很多 AI 和开发工具优先支持 Linux,Windows 原生会遇到各种坑。WSL(Windows Subsystem for Linux)让你在 Windows 上运行一个完整的 Linux 系统,不用双系统、不用虚拟机。

安装(四步)

  1. 开启 WSL 功能:PowerShell(管理员)运行 wsl --install,重启电脑
  2. 设置用户名密码:重启后自动弹出 Ubuntu 终端,设置用户名和密码
  3. 更新包管理器:sudo apt update && sudo apt upgrade -y
  1. 验证:uname -s 输出 Linux 即成功
WSL 的 Ubuntu 和真正 Linux 服务器体验几乎一致。后续 AI 编程、服务器连接都在这个终端里操作。详细教程见 WSL 安装指南。

日常使用

  • 开始菜单搜 "Ubuntu" 打开终端
  • 文件互通:WSL 里 cd /mnt/c/Users/你的用户名 就是 Windows 的文件
  • VS Code 里装 "WSL" 扩展 → 左下角绿色图标 → Connect to WSL,编辑器无缝衔接
  • 推荐安装 Windows Terminal(Microsoft Store 搜)——标签页、多终端、颜值高
  • WSL 管理命令(在 PowerShell 中):wsl --list --verbose 查看版本,wsl --shutdown 关闭,wsl --update 更新内核
  • 项目文件放 Linux 文件系统(如 ~/projects/),不要放 /mnt/c/——文件 IO 更快

Linux 命令行基础

见到黑窗口不要怕——日常用到的命令就十几个。

文件操作


pwd                   # 查看当前目录
ls                    # 列出文件
ls -la                # 列出文件(含隐藏、详细信息)
cd 目录名             # 进入目录
cd ..                 # 返回上级
cd ~                  # 回 home 目录
mkdir 目录名          # 新建文件夹
touch 文件名          # 新建空文件
nano 文件名           # 编辑文件(Ctrl+O 保存,Ctrl+X 退出)
cat 文件名            # 查看文件内容
cp -r 源 目标         # 复制
mv 源 目标            # 移动/重命名
rm 文件名             # 删除文件(谨慎,没有回收站)
rm -r 目录            # 删除目录

包管理


sudo apt update               # 更新软件源
sudo apt install 包名 -y      # 安装软件(-y 自动确认)
sudo apt upgrade -y           # 升级所有包

快捷键

快捷键作用
Ctrl+C终止当前命令
Ctrl+L清屏
Tab自动补全文件名/命令
↑/↓上/下一条历史命令
Ctrl+R搜索历史命令
Ctrl+A光标跳到行首
Ctrl+E光标跳到行尾
!!重复上一条命令(如 sudo !!)

环境变量与 PATH

环境变量是系统存储的全局配置信息,键值对形式,所有程序可读取。

PATH 是最重要的环境变量——告诉 Shell:输入一个命令时,去哪些目录找可执行文件。输入 python3,Shell 按 PATH 里的目录顺序逐个查找,找到就运行,找不到报 command not found。

echo $PATH          # 查看当前 PATH
which python3       # 查看某个命令的实际路径
export MY_VAR="hello"  # 临时设置(关闭终端消失)

永久设置:编辑 ~/.bashrc,末尾加 export PATH="$HOME/.local/bin:$PATH",保存后 source ~/.bashrc。

实战场景:装了工具但报 command not found → 用 which 工具名 确认位置 → 把目录加入 PATH。

详细的命令行操作见 Linux 命令行基础,日常只看上面这张表就够了。

Python 环境

Python 是 AI 和科研的主力语言。Ubuntu/WSL 通常自带 Python 3:


python3 --version    # 检查版本

pip 基础


pip install 包名                  # 安装包
pip install -r requirements.txt   # 批量安装(从依赖文件)
pip list                          # 查看已安装的包
pip show 包名                     # 查看某个包的详情

虚拟环境

大多数情况直接用系统 Python 就行。只在项目间版本冲突时才需要虚拟环境。

传统方式:


python3 -m venv .venv        # 创建
source .venv/bin/activate    # 激活
deactivate                   # 退出

更推荐 uv(Rust 写的超快包管理器,比 pip 快 10-100 倍):

# 安装 uv(任选一种)
pip install uv                     # 通过 pip
# 或 Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或 macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh

# 基本使用
uv venv                            # 创建虚拟环境
uv pip install flask               # 安装包
uv pip install -r requirements.txt # 批量安装

# 创建新项目(自动生成 pyproject.toml)
uv init my-project
cd my-project
uv add flask numpy                 # 添加依赖

pip vs conda vs uv

pipcondauv
速度慢中等极快(Rust 实现)
环境管理需单独用 venv内置内置
依赖解析基础较强强且快
体积轻量大(含 Python 发行版)轻量
适合通用数据科学、深度学习通用,现代项目首选
新项目建议直接用 uv。已有项目用 uv pip install -r requirements.txt 也能无缝兼容 requirements.txt。

Conda 选择

场景方案
写脚本、Web 开发、通用编程系统 Python + pip 就够了
深度学习、科学计算Conda(管理 CUDA、Python 版本更方便)
不确定选哪个 → 系统 Python + pip 开始。需要深度学习时再装 Conda。详细对比见 Node.js 与 Python 环境配置。

VSCode:你的编程主场

VSCode 的详细介绍、与 Visual Studio 的对比、C++ 课为什么用 VS,见本页“编辑器入口”模块。

编辑器入口

WSL 里 code . 能在 Windows 的 VS Code 里打开当前 Linux 目录。

服务器与 SSH

服务器是什么

服务器本质是一台一直开着的电脑,有公网 IP,专门用来托管网站、API、数据库。和个人电脑的区别:

个人电脑服务器
运行时间按需开关机持续运行
访问方式本地(键鼠屏幕)远程(SSH)
操作系统Windows/macOS/Linux主要是 Linux
用途开发、办公、娱乐托管服务、处理请求
现在大部分人用云服务器(VPS,阿里云/腾讯云/AWS),按需付费,几分钟开通。学生优惠约 ¥10/月。

SSH 远程连接

SSH 让你安全地远程登录服务器,像坐在服务器前一样操作。

ssh 用户名@服务器IP
# 第一次连接输入 yes 确认指纹
# 输入密码(不显示任何字符,这是正常的)

SSH 密钥认证(推荐)

密码每次都要输,还可能被暴力破解。密钥认证更安全方便:生成一对密钥(公钥 + 私钥),公钥放服务器上,私钥留本地。全程不传输密码。

# 生成密钥对(ED25519 推荐)
ssh-keygen -t ed25519 -C "你的邮箱@seu.edu.cn"

# 上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP

配置成功后再次连接不再需要输入密码。

⚠️ 私钥(id_ed25519)绝对不能泄露——它等于你的服务器密码。公钥(.pub)可以公开。

文件传输

scp 本地文件 用户名@IP:远程路径/   # 上传
scp 用户名@IP:远程文件 ./          # 下载
scp -r 目录/ 用户名@IP:~/          # 上传整个目录

SSH 配置简化

编辑 ~/.ssh/config,给服务器起别名:

Host myserver
    HostName 123.45.67.89
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519

之后 ssh myserver 即可,不用每次输 IP 和用户名。

详细教程见 服务器与 SSH —— 安全配置、进程管理(screen/systemd)、端口转发、常见问题排查。

AI 协作

配环境是 AI 最大的用武之地。新手配环境最痛苦的环节——路径配置、依赖冲突、编译报错——AI 秒解。

  • 环境报错 → 复制完整报错信息丢给 AI → 它会告诉你少了什么包、路径哪写错了、哪两个包版本冲突了
  • 想装新工具但不知道命令 → 描述需求 → AI 给出完整安装命令,包括依赖和版本限制
  • WSL 配置出问题 → AI 帮你写 .wslconfig 限制内存、配网络代理、修复文件权限
  • sudo apt install 装不上 → AI 告诉你换国内镜像源(tuna/ustc),下载速度从几 KB 到几十 MB

原则:不要在报错信息前花超过 5 分钟。搜不到答案 → 直接丢给 AI。