必须通过remote-wsl插件显式进入wsl上下文(如执行“remote-wsl: new window”),确保左下角显示“wsl: ubuntu”,终端为linux提示符,项目置于/home/xxx而非/mnt/c,所有工具链均在wsl内安装配置。

VSCode 连上 WSL 后,Python 代码在 Windows 里能跑,不代表它真能在 Linux 部署环境里跑通——根本原因在于你压根没进 WSL 的执行上下文,所有 python3、pip、conda 都还是 Windows 版本或挂载路径下的残缺链路。
Remote-WSL 插件装了但终端还是 PowerShell?
这不是插件失效,而是 VSCode 没真正“切换”到 WSL 环境。状态栏左下角不显示 WSL: Ubuntu-22.04,就等于没启动 Linux 上下文。
- 必须用
Ctrl+Shift+P→ 输入Remote-WSL: New Window回车,不能靠「Open Folder…」选/mnt/c/xxx路径 - 成功后资源管理器路径应以
wsl$Ubuntu-22.04\home\username\...开头,终端提示符是username@hostname:~$ - 如果命令面板搜不到
Remote-WSL,检查 VSCode 是否为 Windows 原生安装版(不是 WSL 里apt install code装的旧版),且插件未被禁用
项目放 /mnt/c/ 导致 pip install 失败或 Git 权限报错?
/mnt/c/ 是 DrvFs 挂载的 Windows 文件系统,不支持 Linux 文件权限、符号链接、inotify 事件,I/O 性能差 5–10 倍。
- 项目根目录必须放在 WSL 原生路径下,例如
~/projects/myapp或/home/username/src - 从 WSL 终端进入该路径后执行
code .(前提是 VSCode 安装时勾选了 “Add to PATH”) - 已误操作在
/mnt/c/执行过git clone或npm install?删掉重来,否则会持续遇到unable to create file: Permission denied或ENOSPC
调试时提示 python3 not found 或找不到 conda 环境?
VSCode 调试器只读取 WSL 的 $PATH 和 shell 初始化文件(如 ~/.bashrc),不会加载别名、函数,也不会复用 Windows 的 Python。
- 先确认 WSL 中已安装 Python:
python3 --version;没装就运行sudo apt update && sudo apt install -y python3-pip python3-venv - 用 conda?必须在 WSL 中安装 Miniconda(推荐清华源),运行
conda init bash后重启终端,再执行source ~/.bashrc - VSCode 右下角选择解释器时,路径必须指向 WSL 内的环境,例如
/home/username/miniforge3/envs/pandas_env/bin/python,而不是 Windows 下的C:\Users\...\anaconda3\...
最常被忽略的一点:WSL 里的 python3 和 Windows 里的 python 是两个世界的事,连 sys.path 都不同。哪怕路径看着一样,只要没走对入口,所有依赖、权限、信号处理都会出岔子。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











