核心是用conda env创建完全独立的Python运行空间,每个环境可指定不同Python版本和专属包集合;推荐Apple Silicon芯片用Miniforge、Intel芯片用Miniconda,需完成正确初始化、配置清华镜像源、规范创建命名环境,并在VSCode中手动指定envs/xxx/bin/python路径。
在macos中配置支持多虚拟项目隔离的conda环境,核心是用 conda env 创建彼此完全独立的python运行空间,每个环境可指定不同python版本、专属包集合,互不干扰。关键不在装anaconda,而在于初始化正确、源配置合理、环境创建规范、ide能识别。
安装与初始化:选Miniforge或Miniconda更轻量可靠
Apple Silicon(M1/M2/M3)芯片推荐优先使用 Miniforge(conda-forge官方维护,原生支持ARM架构),Intel芯片可用Miniconda。避免直接装完整版Anaconda——体积大、启动慢、部分组件冗余。
- 访问 miniforge GitHub发布页,下载对应芯片的
Miniforge3-MacOS-arm64.sh(M系列)或Miniforge3-MacOS-x86_64.sh(Intel) - 终端执行:
bash Miniforge3-MacOS-*.sh -b -p $HOME/miniforge3(静默安装到用户目录) - 运行:
$HOME/miniforge3/bin/conda init zsh,然后关闭并重开终端 - 验证:
conda --version和which python应指向~/miniforge3/bin/python
配置国内镜像源:加速包安装,避免超时失败
默认conda源在国外,国内直连常卡顿甚至中断。添加清华镜像源后,conda create 和 conda install 速度明显提升,且兼容性稳定。
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 执行以下四条命令(一次性配置常用通道):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/conda-forgeconda config --set show_channel_urls yes
创建与管理多项目环境:按需命名、指定Python版本
每个项目对应一个独立环境,名称建议带业务或框架标识(如 ml-py39、web-dj42),避免用泛泛的 env1。
- 新建环境(例如为旧项目配Python 3.8):
conda create -n legacy-py38 python=3.8 - 激活环境:
conda activate legacy-py38(提示符前出现(legacy-py38)即成功) - 安装包(优先conda,缺的再pip):
conda install numpy pandas;若需pip:conda install pip && pip install requests - 导出环境配置(协作/复现必备):
conda env export > environment.yml - 从配置重建:
conda env create -f environment.yml
VSCode中正确识别Conda环境
VSCode不会自动发现conda环境,需手动指定Python解释器路径。重点不是找python,而是找对应环境下的python可执行文件。
- 在VSCode中打开项目文件夹,按
Cmd+Shift+P→ 输入Python: Select Interpreter - 点击右侧“Enter interpreter path...” → 选择“Find...”
- 导航至:
~/miniforge3/envs/legacy-py38/bin/python(把legacy-py38替换为你实际的环境名) - 选中后,VSCode右下角会显示该环境名称,终端也自动继承此环境
- 验证:新建
.py文件,输入import sys; print(sys.executable),运行应输出上述路径

















