Python环境配置:conda+PyCharm+换源,附6个坑

做了十多年 Python 开发,帮学员和客户配环境的次数数不清,发现大部分"装不上包""运行报错"的问题,根源都在最开始的环境没配好:PATH 乱、多个 Python 打架、包装错了环境。本文按顺序把一台 Windows 开发机一次配好:Miniconda + conda/pip 换源 + 虚拟环境 + PyCharm,最后整理 6 个高频坑。

一、整体方案

组件 作用
Miniconda 精简版 conda,管理 Python 版本和虚拟环境
conda-forge 源 社区维护的 conda 软件源,走清华镜像
pip + 国内镜像 安装 PyPI 上的第三方包
PyCharm IDE,绑定到具体的虚拟环境

为什么选 Miniconda 而不是完整版 Anaconda:Anaconda 预装了几百个包,体积大、base 环境臃肿;Miniconda 只带 Python 和 conda,需要什么装什么,更干净。

关于授权:Anaconda 官方仓库(defaults 频道)受其服务条款约束,员工或承包商超过 200 人的营利组织通常需要付费订阅。本文统一使用社区维护的 conda-forge 频道,不走 defaults 官方仓库。Miniconda 安装包本身同样适用 Anaconda 的条款,公司用户如果想完全避开,可以改装 conda-forge 社区出品的 Miniforge,默认只用 conda-forge,后续步骤完全相同。

二、安装 Miniconda

  1. 下载安装包(三选一):
  2. 安装类型选 Just Me(官方推荐,不需要管理员权限);
  3. 安装路径不要有空格和中文 ,例如 D:\miniconda3;
  4. 不要勾选 "Add Miniconda3 to my PATH environment variable",官方也不推荐,会和其他 Python 冲突;
  5. "Register Miniconda3 as my default Python" 如果电脑上只有这一套 Python,可以保留勾选。

安装完成后,从开始菜单打开 Anaconda Prompt,验证:

bash 复制代码
conda --version
python --version

想在 PowerShell 或 Windows Terminal 里使用 conda,在 Anaconda Prompt 中执行一次:

bash 复制代码
conda init powershell

关闭并重新打开 PowerShell,提示符前出现 (base) 即成功。

三、conda 换源(清华镜像)

Windows 不能直接新建以点开头的 .condarc 文件,先执行一条命令让 conda 自动生成:

bash 复制代码
conda config --set show_channel_urls yes

然后用记事本打开 C:\Users\你的用户名\.condarc,全部替换为(清华镜像站"仅使用社区频道"配置):

yaml 复制代码
channels:
  - conda-forge
  - nodefaults
show_channel_urls: true
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

nodefaults 的作用是禁止回落到 Anaconda 官方仓库。保存后清除索引缓存并测试:

bash 复制代码
conda clean -i
conda create -n test numpy -y
conda remove -n test --all -y

四、pip 换源

先升级 pip,再设置全局镜像:

bash 复制代码
python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config list

也可以换成阿里云:https://mirrors.aliyun.com/pypi/simple/。

上面的命令会写入 %APPDATA%\pip\pip.ini,也可以直接手动创建这个文件:

ini 复制代码
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 60

临时使用某个源:pip install requests -i https://mirrors.aliyun.com/pypi/simple/。

五、虚拟环境:一个项目一个环境

核心原则:base 环境只放 conda 本身,项目依赖一律装到独立环境里。

bash 复制代码
# 创建并激活 Python 3.11 环境
conda create -n py311 python=3.11 -y
conda activate py311

# 查看所有环境 / 退出 / 删除
conda env list
conda deactivate
conda remove -n py311 --all -y

导出环境,方便换电脑或给同事复现:

bash 复制代码
conda env export --from-history > environment.yml
pip freeze > requirements.txt

# 复现
conda env create -f environment.yml

不想用 conda 的轻量项目,也可以用 Python 自带的 venv:

bash 复制代码
python -m venv .venv
.venv\Scripts\activate

六、PyCharm 配置解释器

下载 :www.jetbrains.com/pycharm/dow... 。从 2025.1 起 PyCharm 合并为统一版本,安装后有 30 天 Pro 试用,到期后核心功能(含 Jupyter 支持)继续免费;原来的 Community 社区版 2025.2 是最后一个独立版本。

新建项目时绑定 conda 环境:

  1. New Project → Interpreter type 选 Custom environment;
  2. 选 Select existing ,Type 选 Conda;
  3. Path to conda 指向 D:\miniconda3\Scripts\conda.exe(或 D:\miniconda3\condabin\conda.bat);
  4. Environment 下拉选择 py311,创建项目。

已有项目切换解释器 :最快的方法是点击右下角状态栏的解释器名称 → Add New Interpreter → Add Local Interpreter,按上面同样方式选择 Conda 环境;也可以 Ctrl+Alt+S 打开设置,在搜索框输入 Interpreter 找到 Python 解释器设置页。

验证:在 PyCharm 中新建文件运行:

python 复制代码
import sys
print(sys.executable)
# 应输出 D:\miniconda3\envs\py311\python.exe

七、日常使用的几个好习惯

环境配好只是开始,下面几个习惯能让它长期保持干净:

  1. 项目目录与环境一一对应 :例如项目 D:\code\spider 对应环境 spider,看名字就知道该激活哪个,PyCharm 里也不容易选错;
  2. 依赖文件跟代码一起提交 :environment.yml 或 requirements.txt 放在项目根目录并提交到 Git,换电脑、交接项目时一条命令就能复现;
  3. 给 Jupyter 注册内核 :在环境里装好 ipykernel 后执行下面的命令,Jupyter 和 PyCharm 的 Notebook 都能选到这个环境:
bash 复制代码
conda activate py311
python -m ipykernel install --user --name py311 --display-name "Python 3.11 (py311)"
  1. 定期清理缓存 :conda 下载的安装包会一直留在 pkgs 目录,时间长了占用好几个 GB,可以定期执行 conda clean --all -y;
  2. 不要随手升级 base:base 环境只用来运行 conda,除非 conda 本身提示需要更新,否则不要在 base 里装包或大版本升级。

八、FAQ:6个常见坑

坑1:'python' 不是内部或外部命令,或输入 python 弹出微软商店

  • 输入 python 弹商店:Windows 11 在 设置 → 应用 → 高级应用设置 → 应用执行别名(Windows 10 在 设置 → 应用 → 应用和功能 → 应用执行别名),关闭"应用安装程序 python.exe / python3.exe"两项;
  • 用 where python 查看当前命中的是哪个 Python;
  • 不要手动把 Miniconda 加到 PATH,用 Anaconda Prompt 或执行过 conda init 的终端即可。

坑2:PowerShell 执行 conda activate 无效,或提示"禁止运行脚本"

执行 conda init powershell 后,如果报 无法加载文件 ...profile.ps1,因为在此系统上禁止运行脚本,执行:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

然后重开终端。

坑3:conda 和 pip 混用导致依赖冲突

  • 顺序:先用 conda 装好能装的,最后再用 pip 补,pip 装完后尽量不要再用 conda 改动同一环境;
  • 统一用 python -m pip install xxx,确保装进当前激活的环境;
  • 不要往 base 里 pip 装包;环境装乱了,直接删掉用 environment.yml 重建,比修复快得多。

坑4:终端装了包,PyCharm 里却报 ModuleNotFoundError

绝大多数情况是解释器不一致:终端激活的是 A 环境,PyCharm 用的是 B 环境。用上面的 sys.executable 对比两边路径;在 PyCharm 自带的 Terminal 里安装,或在 Python Interpreter 设置页点 + 安装。

坑5:SSL 证书报错

  • pip 报 SSLError(SSLCertVerificationError ...):常见于开了代理、公司网络做了 HTTPS 审计。先关代理重试;pip 24.2 起在 Python 3.10+ 上会同时使用系统证书库,升级 pip 往往就能解决;临时方案是加 --trusted-host pypi.tuna.tsinghua.edu.cn,不建议长期关闭校验;
  • conda 报 CondaSSLError: OpenSSL appears to be unavailable:多半是在未激活的普通 cmd 里直接调用了 conda,改用 Anaconda Prompt 或执行过 conda init 的终端。

坑6:CondaToSNonInteractiveError: Terms of Service have not been accepted

这是 Anaconda 2025 年新增的服务条款确认机制,只有使用 defaults 官方频道时才会出现。二选一:

bash 复制代码
# 方案A:接受条款(符合免费使用条件的个人用户)
conda tos accept

# 方案B:按第三节改用 conda-forge,并移除 defaults
conda config --remove channels defaults

总结

一台干净的 Python 开发机 = Miniconda(不加 PATH)+ conda-forge 清华源 + pip 国内源 + 每个项目独立环境 + PyCharm 绑定对应解释器。按这个顺序配一次,后面基本不用再折腾。

有部署或环境问题欢迎评论区留言,我会把高频问题整理成后续文章。 关注白泽软件开发,持续更新实战教程。

相关推荐
Python私教44 分钟前
DeepSeek本地部署Ollama+知识库,附3个报错解决
人工智能·llm·deepseek
知几蜗牛44 分钟前
工具还在跑,AI为什么还能继续说?看懂多模态异步事件流
人工智能
天天被压力44 分钟前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·人工智能·python
天天被压力44 分钟前
【Python 量化取数指南 #14】Python 清洗行情数据:复权停牌对齐,回测不翻车
java·人工智能·python
冬奇Lab44 分钟前
LLM 自动化测试系列(04):Web UI 自动化——Midscene 的视觉驱动脚本化
人工智能·测试
大白话AI1 小时前
揭秘 Auto Mode 安全分类器
人工智能
知几蜗牛1 小时前
模型后训练别一上来就凭感觉打分:奖励顺序比阶段数量更重要
人工智能
IT_陈寒1 小时前
JavaScript的this指向问题又让我加了个班
前端·人工智能·后端
冬奇Lab1 小时前
一天一个开源项目(第228篇):AX —— Google 开源的「Kubernetes for Agents」,用声明式 YAML 编排十亿级 Agent 任务
人工智能·开源·资讯