简介:Windows下PyCharm配置Anaconda环境的超详细教程已整理为一份PDF资源,主要面向Python初学者、数据科学以及需要管理多个开发环境的Windows用户。教程先梳理Python、PyCharm与Anaconda的关系,帮助读者理解为何要集成三者,并对Anaconda安装、PyCharm中项目解释器导入和包管理配置等关键环节做了详细说明。文中还特别提示第三方包安装时需要定位到Anaconda的Scripts目录,以及避免与系统默认Python环境冲突的要点,这些正是新手最易踩坑之处。资源仅包含1个PDF文件,压缩包大小552KB,文档轻量便于离线查阅,已有15721人学习/下载。通过这份教程,读者可以快速完成PyCharm与Anaconda的整合,直接使用numpy、matplotlib等预装科学计算库,省去逐个安装依赖和排查环境问题的时间。
1. 为什么 PyCharm 要配 Anaconda:先搞清楚这三者分工
很多刚接触 Python 的读者都被“环境”这件事绕晕过:明明代码写得好好的,换个电脑或者换个项目就报 ModuleNotFoundError,更别提在 cmd 里敲pip install numpy结果装到了系统 Python,而 PyCharm 用的却是另一个解释器。要绕开这些坑,关键在于想明白 Python、PyCharm、Anaconda 各自扮演什么角色。Python 是解释器本体,负责运行 .py 脚本;PyCharm 是 IDE,提供调试、自动补全、项目管理这些开发效率工具;而 Anaconda 是一个打包好的 Python 发行版,预装了 numpy、pandas、matplotlib、scipy、scikit-learn 等数百个数据科学常用依赖,并且自带虚拟环境和包管理工具。也就是说,你写代码用 PyCharm,跑代码用 Anaconda 里的解释器,装包交给 conda 或者 Anaconda 自己的 pip。本文从 Windows 平台出发,把 Anaconda 安装、PyCharm 解释器导入、新包安装、以及最容易踩的坑完整过一遍。
2. 安装 Anaconda:选版本与安装选项直接决定后续会不会冲突
2.1 下载与版本选择
进入 Anaconda 官方网站的下载页面,通常会自动识别操作系统,如果没识别出来就手动选 Windows 版本。需要留意的是 Python 版本选项:Anaconda 官方目前主要提供 Python 3.9、3.10、3.11 对应的安装包(不同时期版本号有差异),这里建议优先选择较新但已经稳定迭代过的版本,比如 Python 3.10 或 3.11,避免最新版出现第三方库兼容问题。另外,如果你的硬盘空间比较紧张,可以考虑 Miniconda,它只包含 conda 包管理器、Python 解释器和少量基础依赖,体积比完整版 Anaconda(约 531 MB)小很多,后续需要用哪个库就conda install哪个。
下载完成后双击 .exe 文件启动安装。这里有一个很关键的选项需要正确处理。
2.2 安装过程中两个重要选项
安装向导走到 Advanced Options 这一步时,会出现两个复选框:
- Add Anaconda3 to my PATH environment variable:默认不勾选,建议保持不勾选。如果勾选,Anaconda 会把它的 Python 和 Scripts 目录加入系统 PATH,那么你在 cmd 里敲
python或pip时会优先命中 Anaconda 的解释器。假如你还装了官方 Python(python.org 下载的),两个环境同时进入 PATH,就会出现“在终端里明明 pip 安装了包,PyCharm 里却导入失败”这类冲突问题。 - Register Anaconda3 as my default Python 3.x:建议勾选,这样系统会默认把 .py 文件关联到 Anaconda 的解释器,双击脚本时能用 Anaconda 环境直接运行。
之后选择安装路径时,注意尽量避免路径中包含空格或中文。默认的安装路径一般是C:\Users\你的用户名\anaconda3,或者D:\Anaconda3这类短路径。很多人喜欢把软件装到C:\Program Files\Anaconda3,这个路径带空格,在个别命令行脚本和深度学习框架的 Dll 加载场景中会出现奇怪的问题,后面第 5 章会细说。
2.3 验证安装是否成功
安装完成后,打开开始菜单,找到 Anaconda Prompt(或 Anaconda Navigator)。在 Anaconda Prompt 里执行:
conda --version python --version conda list | findstr numpyconda --version能看到 conda 版本号(比如 conda 24.x.x)就说明包管理器装好了;python --version显示的应当是 Anaconda 捆绑的版本,比如 Python 3.11.7;conda list列出当前环境所有包,findstr numpy是 Windows 下过滤包含 numpy 的行(相当于 Linux 的grep)。如果三条命令都能正常输出,说明 Anaconda 本体环境是完整的,可以准备接入 PyCharm。
提示:如果
conda命令提示无法识别,多半是安装时把 Anaconda 的 Scripts 目录没有正确加入系统 PATH。虽然有通过conda init修复的方法,但对新手而言,最痛快的做法是卸载重装,安装时选择 “All Users” 模式,并把 “Add to PATH” 选项勾上(注意:如果机器上只有一个 Python 环境,勾选 PATH 反而省事;如果机器上已经有官方 Python,请保持不勾选,并在 PyCharm 里手动定位解释器)。
3. 在 PyCharm 里导入 Anaconda 解释器:配置的完整流程
3.1 打开 Project Interpreter 设置面板
在 PyCharm 里接入 Anaconda 的本质,就是让 PyCharm 的某个项目指向 Anaconda 自带的 python.exe 作为项目解释器。
启动 PyCharm,点击菜单栏的File -> Settings(Windows 下快捷键是Ctrl+Alt+S)。在设置窗口左侧选择Project -> Python Interpreter,右侧顶部能看到当前项目使用的解释器路径和已安装的包列表。点击解释器下拉框旁边的齿轮图标,选择Add。
这里会出现两个入口分支:如果选择Add Interpreter,弹出的弹窗中有多个 Tab,包括Virtualenv Environment、Conda Environment、System Interpreter、Pipenv Environment、Poetry Environment。因为 Anaconda 本身就是 conda 体系,最直接的方式是切换到Conda EnvironmentTab,点击Existing environment,Interpreter 路径选择 Anaconda 安装目录下的 python.exe,比如C:\ProgramData\anaconda3\python.exe或D:\Anaconda3\python.exe,PyCharm 会自动识别 conda 相关的环境信息。
提示:如果选择
Add Local Interpreter后用System Interpreter添加解释器,也能正常工作,但 PyCharm 不会把它识别为 conda 环境,conda 相关的图形化环境管理操作(比如新建虚拟环境、切换环境)就不会在 IDE 里出现。建议优先用 Conda Environment 这个入口。
3.2 确认包列表是否加载成功
配置完成后回到Python Interpreter页面,会发现右侧包的列表逐渐刷新,出现 numpy、pandas、matplotlib、seaborn、scipy、scikit-learn、jupyter 等一系列包。这里要注意区分两个显示区域:
- Package 列表:显示当前环境已经安装的所有包,左侧包名、右侧版本号。
- 解释器路径:显示为
python.exe of Anaconda这类描述,说明 PyCharm 已经正确绑定到 Anaconda。
如果包列表迟迟刷新不出来,可以点击列表下方的刷新按钮强制重新加载。也可以直接在 PyCharm 下方的 Terminal 面板执行conda list来验证当前解释器的实际环境,这个 Terminal 默认继承了 PyCharm 项目的环境变量,打印出来的包列表与 PyCharm 解释器页面一致就说明同步成功。
3.3 为什么 PyCharm 里添加后仍然提示 No module named xxx
这是配置完成后最容易出现的问题。现象是:PyCharm 解释器设置里已经选定了 Anaconda,但运行代码时仍然提示ModuleNotFoundError: No module named 'pandas'。
根本原因是 PyCharm 项目实际运行用的解释器,与应用界面上显示的解释器不是同一个。常见情况包括:
- 项目根目录下有
.venv文件夹,PyCharm 默认加载了挂载的虚拟环境,而非手动指定的 Anaconda 解释器。解决方法是进入Settings -> Project -> Python Interpreter,确认右上角的Python Interpreter下拉框选中的是 Anaconda 路径。 - 运行时配置(Run/Debug Configurations)里单独指定了解释器:右键主文件运行前,PyCharm 会生成一个临时运行配置,这个配置里的
Python interpreter可能还停留在之前的系统解释器。进入Run -> Edit Configurations,检查对应配置的 interpreter 是否与全局设置一致。 - 代码所在目录是一个多级子包结构,PyCharm 把启动目录标记成了 Sources Root,于是从启动目录开始找包,Anaconda 里装好了包但系统路径没落到搜索范围内。这种问题在导入自己写的模块时更常见,与 Anaconda 配置没有直接关系。
真正稳妥的验证方式是:在 PyCharm 的 Python Console(Python 控制台)里执行以下代码:
import sys print(sys.executable) import pandas as pd print(pd.__version__)第一行sys.executable打印出来的路径如果是...\anaconda3\python.exe,就说明代码运行时确实使用了 Anaconda 解释器;如果打印的还是 C 盘其他目录下的 Python,说明运行配置解释器没有同步,回到上一步修改项目解释器。
注意:每次新建项目选择解释器时,不要图省事直接选用 “New environment using Virtualenv”,这个操作会为项目新建一个空白虚拟环境,不继承 Anaconda 任何包。数据科学项目请优先选
Existing environment指向 Anaconda 的 python.exe,或者选择Conda Environment后从已存在的 conda 环境里选。这是新手和熟手交接项目时最常见的“环境不匹配”来源。
3.4 将 Anaconda 的 conda 命令接入 PyCharm 终端
配置好解释器后,PyCharm 底部自带的 Terminal 默认会继承项目解释器的环境,但有时 shell 提示符显示的还是系统原来的 Python。为了让 PyCharm 的终端能直接敲conda、python命令,需要确保在 Windows 的环境变量中加入了 Anaconda 的路径(仅限机器上只有一个 Python 环境的情况),或者在 PyCharm 的 Terminal 设置里指定 conda 的初始化脚本。
具体做法:Settings -> Tools -> Terminal,在Shell path填入cmd.exe,然后在Environment variables里添加两项:
CONDA_PREFIX=D:\Anaconda3 CONDA_DEFAULT_ENV=base CONDA_SHLVL=1PATH 值追加 Anaconda 的路径:
PATH=D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;D:\Anaconda3\Library\usr\bin;保存后重启 PyCharm,底部终端默认就工作在 conda base 环境里,conda activate切换虚拟环境也直接可用。如果 PyCharm 终端打开后面临conda 不是内部或外部命令的报错,多半是环境变量没有正确设置,需要回到 Windows 系统属性里确认这三项路径是否写入。
4. 用 Anaconda 安装新包:conda 与 pip 的边界与正确姿势
4.1 为什么建议用 Anaconda 的 Python 环境安装包
Anaconda 自带的 Python 是 conda 管理的独立环境。安装包时可以用 Anaconda Prompt、cmd、PyCharm 内置终端三条路径之一。这里先给出结论:数据科学场景优先用 conda 安装;conda 源里没有的包用 pip 安装,但必须保证 pip 指向的是 Anaconda 的 pip。
原因在于 conda 不仅管理 Python 包,还会管理底层依赖(如 mkl、numpy 的底层线性代数库、DLL 动态链接库),安装 TensorFlow、PyTorch 这类大型框架时,conda 能保证 CUDA 相关运行时和 Python 包的版本匹配,pip 只处理 Python 包层级,遇到需要系统级 C++ 库的依赖容易翻车。
4.2 通过 Anaconda Prompot 安装包
打开 Anaconda Prompt,先确认当前环境处于 base 还是某个虚拟环境:
conda env list conda activate base conda install pandasconda env list列出所有已经创建的虚拟环境,当前带*号的是活动环境。conda install pandas会在当前激活的示例环境中安装 pandas。执行时 conda 会解析依赖关系,如果发现需要更新其他底包,它会列出将要执行的操作,输入y确认继续。安装完成后可以通过conda list | findstr pandas验验证是否出现对应版本号。
4.3 通过 cmd 和 pip 安装特定包
部分包不在 conda 官方源里(比如一些只发布在 PyPI 上的包,或者最新版本尚未提交 conda),此时需要改用 pip。关键点是不要敲错了 pip——如果机器上同时装有官方 Python 和 Anaconda,直接在 cmd 里敲pip有可能命中官方 Python 的那个 pip,导致包装到了错误环境(或者因为权限问题安装失败)。
正确流程是:进入 Anaconda 安装目录下的Scripts文件夹,比如:
cd /d D:\Anaconda3\Scripts pip install cocos2d/d参数是 cmd 在 Windows 下强制切换盘符和路径的命令,如果直接敲cd D:\Anaconda3\Scripts在 C 盘当前路径下是不生效的。在这个目录下执行pip install <包名>,使用的就是 Anaconda 配套的 pip 工具。安装完成后,可以在同一终端执行pip list | findstr cocos2d验验证是否安装成功。
4.4 在 PyCharm 里直接安装包
除了在外部终端操作,PyCharm 的Python Interpreter设置页正下方自带一个包管理入口:点+号,输入包名,点击Install Package,PyCharm 会调用当前解释器对应的 pip 完成安装。这种方式特别适合快速安装单个小包,但不适合安装大型框架(因为无法提前处理依赖冲突,而且安装过程不会显示 conda 的依赖解析信息)。
PyCharm 安装包的隐藏坑是:界面右上角有一个Specify version选项,默认不填,表示安装跟当前解释器兼容的最新版。如果前面已经用 conda 装过某个包,这里再用 pip 安装不同版本,conda 和 pip 同时管理同一环境容易出现元数据不一致警告。记住:同一环境尽量用同一个包管理器装包,混用的本质是在两个元数据库之间制造分裂。
4.5 用 requirements.txt 复现环境
迁移项目到另一台机器时,管理员通常把环境依赖梳理成 requirements.txt:
pip freeze > requirements.txtpip freeze列出当前环境所有包的精确版本号,重定向到文件。在新机器上安装:
pip install -r requirements.txt需要注意的坑:pip freeze会包含一些通过 conda 安装但被 pip 识别的间接依赖包,还有一堆包名带版本号的深层依赖(比如numpy==1.24.4是 pandas 的依赖)。直接在新环境安装时,要让 conda 和 pip 的包版本互相兼容。更推荐的方式是导出 conda 环境定义:
conda env export > environment.yml conda env create -f environment.ymlconda env export会记录环境名、依赖源(conda 还是 pip)、精准的版本和 build 号,跨平台还原时最可靠。如果只是与同事分享一个临时演示环境,pip freeze > requirements.txt够用;但如果要复现一个深度学习训练环境,务必用conda env export,因为 CUDA 驱动和 cuDNN 版本经常微妙地影响训练结果,conda 导出能连同这些一起保留。
5. 避坑:Windows 下 PyCharm 配 Anaconda 的典型问题排查
5.1 安装了包但 PyCharm 导入报错
现象:在 Anaconda Prompt 或 cmd 里用conda install numpy成功,PyCharm 代码运行仍然报No module named 'numpy'。
原因:PyCharm 使用的解释器不是 Anaconda。最常见的情况是安装 PyCharm 时自动选择了新建虚拟环境(Virtualenv),项目的解释器是venv\Scripts\python.exe,与 Anaconda 没有关系。
解决:打开Settings -> Project -> Python Interpreter,点击齿轮选择Add->Conda Environment->Existing environment,浏览到 Anaconda 安装目录下的python.exe。修改后点击 OK,再确认包列表中出现了 numpy 等包。另外检查Run -> Edit Configurations,确认运行配置的解释器没有被单独覆盖。
5.2 安装 Anaconda 时勾选了 Add to PATH,之后系统原有 Python 环境混乱
现象:机器上原本有官方 Python 3.x,安装 Anaconda 时勾选了 add to PATH,之后在 cmd 里输入python进入的是 Anaconda 的 Python,输入pip找不到包,或者pip install装到了另一个环境。
原因:两个 Python 的目录都加进了 PATH,cmd 会按 PATH 顺序优先命中排在 Anaconda 前面的 Python。Windows 下环境变量顺序经常因为安装软件被动,导致python指向了一个版本,pip指向了另一个版本。
解决:在开始菜单搜索“编辑账户的环境变量”,检查 Path 变量中各项顺序。保留 Anaconda 的路径,把官方 Python 的路径移除(如果不再使用)。如果无法确定哪个路径对应哪个 Python,可以在 cmd 里分别执行where python和where pip,会打印出所有匹配的可执行文件路径,从输出里就能看出顺序。
更稳妥的做法是:保持 Anaconda 不写入 PATH,日常使用完全通过 PyCharm 设置里指定解释器来操作。这样终端依然归官方 Python(如果需要),而项目开发统一走 Anaconda。两套环境互不干扰。
5.3 PyCharm 的 Terminal 里 conda 命令无效
现象:配置完成解释器后,点击 PyCharm 底部的 Terminal,输入conda activate base提示conda 不是内部或外部命令。
原因:PyCharm Terminal 默认加载的是系统 PATH 环境变量,Anaconda 安装时选择不写入 PATH 的话,Terminal 启动时就不认识 conda。另一个原因是 PyCharm Terminal 打开的是 PowerShell 或特定 shell,没有经过 conda init 初始化。
解决:在 PyCharm 的 Terminal 设置里把 Shell path 改成cmd.exe(Windows 原生终端兼容性最好),并在环境变量PATH中显式添加D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin。注意 PyCharm 的环境变量设置是附加在全局环境变量之上的,追加路径不会清空原有配置。添加后重启 PyCharm。
5.4 安装包时速度极慢或者中断
现象:conda install tensorflow执行后长时间卡在Solving environment阶段,最终提示超时或连接失败。
原因:conda 默认源是国外 CDN,在国内网络环境下访问不稳定,而且 conda 的依赖求解器在处理大型包时确实需要花费较长时间。
解决:更换 conda 的镜像源,常见做法是在用户目录下创建或修改.condarc文件,写入镜像源配置:
channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud配置完成后执行conda clean -i清除索引缓存,conda install就会从镜像源拉取数据,速度有明显提升。使用 pip 安装包遇到慢的情况,可以在pip install后加-i https://pypi.tuna.tsinghua.edu.cn/simple指定临时镜像。
5.5 PyCharm 创建新项目后默认解释器又回到了系统 Python
现象:配置好一次 Anaconda 后,新建项目时右侧解释器列表里显示的还是若干系统 Python 或虚拟环境,而不是 Anaconda。
原因:PyCharm 的项目解释器设置是全局的,但新建项目时有一个单独的步骤让用户选择解释器,且默认选择跟随上一个项目(如果上面的项目用的不是 Anaconda,新项目就默认不是)。
解决:在创建项目向导的第四步(解释器选择页面)手动选择Existing environment并指向 Anaconda 的 python.exe。如果多次新建项目都希望默认使用 Anaconda,可以在Settings -> Project -> Python Interpreter中先把当前项目设为 Anaconda,然后新建项目时选择Inherit global site-packages是虚拟环境特有选项(Anaconda 环境不需要勾选),直接复制之前的解释器配置。
6. 进阶:用 conda 虚拟环境隔离项目,正确在 PyCharm 中切换环境
项目做多了之后,会发现“一个大环境打天下”的模式越来越难受:项目 A 要 numpy 1.21,项目 B 要 numpy 2.0;项目 C 是 PyTorch 项目,项目 D 是纯 Flask 服务。如果把所有包装进 base 环境,最终要么强制降级某个包,要么出现包冲突,轻则运行时报错,重则环境彻底没法修复只能重装。Anaconda 的虚拟环境功能就是解决这个问题的——为每个项目开一条独立的小环境通道,互不影响。
创建虚拟环境的基本流程:
conda create -n projectA python=3.10 numpy pandas matplotlib-n参数指定新环境名字叫 projectA,后面跟上需要的 Python 版本和初始安装的包。conda 会解析依赖,然后询问是否继续,输入y后开始下载安装。创建完成后激活环境:
conda activate projectA激活后 cmd 提示符前面会出现(projectA),此时当前 shell 里所有 python、pip、conda 操作都指向 projectA 环境。再次确认解释器路径:
where python输出是C:\Users\你的用户名\anaconda3\envs\projectA\python.exe,说明激活成功。需要注意,conda activate 在 Windows cmd 和 PowerShell 里的行为有区别:cmd 直接可用,但如果用的是 PowerShell,先把 conda 的 init 脚本执行一遍才能使用 activate 命令,也就是需要先执行conda init powershell。
接下来把虚拟环境接入 PyCharm。打开Settings -> Project -> Python Interpreter,点击齿轮选择Add,切到Conda Environment,这次选择Existing environment,Interpreter 路径指向C:\Users\你的用户名\anaconda3\envs\projectA\python.exe。确认后回到包列表,此时显示的是 projectA 环境内的包,与 base 环境完全隔离开来。
切换环境的操作完成后,需要确认当前 PyCharm 终端也切换到了对应环境。终端输入conda env list查看当前激活的环境(带星号的是当前环境)。如果终端仍然停留在 base,执行conda activate projectA切换。如果发现 PyCharm 的运行按钮始终跑在错误的解释器上,重复第 3.3 节的排查流程,检查运行配置里的解释器是否单独指定。
虚拟环境的另一个价值在于方便清理。某个项目做完,想彻底清除环境占用的空间:
conda deactivate conda env remove -n projectAconda deactivate退出当前虚拟环境回到 base,conda env remove删除整个环境目录,包括里面的所有包。这对硬盘空间有限的同学是个福音——base 环境加虚拟环境动辄占 10GB 以上空间,删掉不用的环境能腾出一大块。
对于经常和深度学习框架打交道的读者,建议额外在 conda 里安装一个管理工具包:
conda install mamba -n base -c conda-forgemamba 是 C++ 重写的包管理工具,解析依赖的速度比 conda 快一个量级,在大型环境(比如安装 PyTorch + CUDA 工具包)时能明显减少等待时间。官方 conda 在解决复杂依赖时经常要消耗几分钟十几分钟时间,mamba 基本在几十秒内完成。在 PyCharm 里配置的 conda 环境依然使用 conda 管理,mamba 的语法完全兼容,只是更高效,不用改任何现有环境配置。
关于虚拟环境命名,我的习惯是用项目名加 Python 版本来标识,比如nlp-py310、web-py311。这样 PyCharm 的解释器列表里一眼能分辨出环境用途,不会出现envs/envs1/envs2这种看了还要猜的命名。之前吃过一次亏:接手一个数据分析项目,环境名叫test123,打开包列表发现装了一个 2020 年的旧版 scikit-learn,排查了一天才发现是标准环境选错导致版本不兼容,从那以后我每次建环境都强制走一遍conda create -n 项目名-python版本的命名规则,并且在 PyCharm 里总是先确认解释器路径再开始写代码。希望这个习惯也能帮你在 Windows 和 Anaconda 的组合下少走弯路。
本文还有配套的精品资源,点击获取