结论:应使用Miniconda3+WSL2原生路径(如~/projects),禁用系统python3-pip和/mnt/c路径。因Ubuntu系统Python深度绑定apt,易致升级失败、权限混乱;Miniconda3路径隔离、环境独立;安装后需手动source ~/.bashrc、禁用base自动初始化、显式指定清华镜像源;VS Code/PyCharm须手动指定~/miniconda3/envs/xxx/bin/python解释器,且项目必须置于WSL原生路径以避免I/O性能崩溃与工具异常。

直接上结论:别用 Windows 原生 Python,也别把项目放在 /mnt/c 下;用 Miniconda3 + WSL2 原生路径(如 ~/projects)才是稳定、快、少报错的组合。
为什么不能用系统自带的 python3-pip
Ubuntu 的 python3 是系统级依赖,被 apt 工具链深度绑定。装包时用 sudo apt install python3-pip 看似省事,但后续极易触发以下问题:
-
apt upgrade时因 Python 包冲突中断,甚至损坏系统更新能力 -
pip install装的包混在系统路径里,权限混乱,pylint或mypy扫描卡顿 - 升级 Python 小版本(如 3.10 → 3.11)需重装整个系统 Python,风险高
Miniconda3 安装后所有环境隔离在 ~/miniconda3,不碰系统 Python,conda activate 切换干净利落。
安装 Miniconda3 时必须做的三件事
很多报错(比如终端里敲 conda 报 command not found)都源于这三步漏了其中一环:
立即学习“Python免费学习笔记(深入)”;
- 下载后执行安装脚本时,**必须选 “no” 不自动初始化 base 环境**——避免污染 shell 启动逻辑
- 安装完手动运行
source ~/.bashrc(或重启终端),否则conda命令不可见 - 创建新环境时,**显式指定国内镜像源**,否则默认 channel 经常超时:
conda create -n py311 python=3.11 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
PyCharm / VS Code 怎么识别你装的 conda 环境
Remote-WSL 插件不会自动扫描 ~/miniconda3/envs/,这是最常被卡住的点。实操路径如下:
- VS Code:
Ctrl+Shift+P→Python: Select Interpreter→Enter interpreter path→ 输入~/miniconda3/envs/py311/bin/python - PyCharm:新建项目时选
Existing environment→Interpreter: ~/miniconda3/envs/py311/bin/python - 注意:不要选
/usr/bin/python3,那是系统 Python;也不要选~/miniconda3/bin/python(那是 base,应避免激活)
项目路径放哪里?/mnt/c 和 ~/projects 差多少
性能差距不是“有点慢”,而是 I/O 行为级失效:
- 在
/mnt/c/Users/xxx/project下跑pip install pandas,耗时可能是~/projects下的 4 倍以上 - Git 会误报大量文件“modified”(权限位、换行符元数据不一致)
- PyTorch DataLoader 卡住、Jupyter kernel 启动失败,80% 源于路径挂载层缓存失灵
正确做法:所有代码、虚拟环境、数据集(小规模)统一放在 WSL2 原生路径,例如 ~/projects/my_analysis;/mnt/c 只用于临时拷贝文档或大体积只读数据集。
最容易被忽略的是:每次新建 conda 环境后,都要手动在 IDE 里重新指定解释器路径——它不会自动刷新。另外,WSL2 的 GPU 支持依赖 Windows 侧已装好 NVIDIA 驱动(472.12+),这点和 Linux 发行版无关,但没装就跑不了 torch.cuda.is_available()。


















