作为一个常年帮人重装 Python 环境的“老油条”,我几乎每周都会被问到同一个问题:Anaconda 和 PyCharm 到底怎么装、怎么配?这两个工具单看都不难,可放到一起后,下载渠道、版本选择、安装选项、解释器路径、镜像源、虚拟环境……每一步都能精确地卡住一批人。今天这篇我就以 2023 版本的软件为基准,把整套流程从零到一重新捋一遍,从 Anaconda 和 PyCharm 的下载安装,到 conda 虚拟环境创建,再到 PyCharm 接入 Anaconda 解释器,全部给你交代清楚。这篇内容适合所有刚接触 Python、想一次性把开发环境跑通的新手,也适合被各种报错反复折磨的“半熟手”,照着操作能省下不少走弯路的时间。
1. 先搞清楚:这套组合到底解决了什么问题
1.1 Anaconda 不是 Python,它是环境管家
很多新手以为 Anaconda 就是 Python 的另一个发行版,装上它就等于装好了 Python。这话不算全错,但容易让后面踩坑。Anaconda 自带了一个 Python 解释器,但它真正核心的价值在于 conda 这个包管理器和环境管理器。Python 生态里最让人头疼的不是语法,而是依赖关系:项目 A 需要 numpy 1.24,项目 B 可能需要 numpy 1.21,如果你全局只装一个版本,两个项目迟早要打起来。conda 解决的问题就是“每个项目一套独立环境”,环境之间互不干扰,想换 Python 版本也可以基于同一个基础环境快速创建新环境。
打个比方,直接装 Python 就像你在一个公用仓库里乱放工具,今天要用板手,明天要用螺丝刀,但不同项目要求的工具规格还不一样,换项目就得翻箱倒柜。Anaconda 的环境管理相当于给每个项目分配一个独立的工具箱,每个箱子里的工具版本互不影响。工具不够就去 conda 这个“五金店”里装,装多了还能一键删除。这也是为什么数据科学、机器学习领域的人普遍用 Anaconda 而不是裸装 Python。
1.2 PyCharm 不是必须的,但它是让调试变舒服的那层“壳”
有人会问:我用 VS Code 不也能写 Python 吗?确实能。但 PyCharm 是专门为 Python 开发的 IDE,它对解释器、虚拟环境、项目依赖的理解是开箱即用的。尤其当你刚接触 Anaconda 时,PyCharm 能帮你把 conda 环境里的解释器和包全部自动识别出来,省去很多手写命令的时间。PyCharm 有社区版(Community)和专业版(Professional)之分,社区版完全免费且开源,纯 Python 开发足够了;专业版额外支持 Django/Flask Web 开发、数据库工具、远程开发等,适合项目和团队协作,但需要购买授权或试用。
我之前见过很多新手用记事本写 Python,写完在命令行运行,报错之后人直接傻了。PyCharm 的价值在于它把所有信息都可视化了:断点调试、变量查看、内置终端、版本控制集成,一套界面全搞定。不是说不用 PyCharm 就一定不行,而是“Anaconda 管环境 + PyCharm 写代码”这个组合,是目前最常见也最适合中国用户上手的工作流,网上教程多、出问题也好搜。
2. 下载安装:2023 版本避坑实录
2.1 Anaconda 下载与安装:别漏掉两个关键选项
先说 Anaconda。打开官网 anaconda.com,点击顶部的 Products,再进 到 Anaconda Distribution,找 Download 按钮。官网会自动识别你的操作系统,但 Windows 下建议手动确认选择 64-Bit Graphical Installer,不要选 32 位,除非你的电脑实在老得不行。2023 年这一版比较常见的是 Anaconda 2023.09-0,内置 Python 3.11.x,下载链接大概有 800 MB 左右,耐心等一会儿。
下载完成后双击 exe,一路 Next 就行,但要重点关注两件事。第一,安装路径尽量不要有中文、空格和特殊字符,比如用“D:\Anaconda3”这种干干净净的路径。如果 Windows 用户名本身是中文,默认安装路径很可能出现中文目录,后续某些依赖包处理路径时容易出问题,这种情况建议手动改到其他盘符的英文目录下。第二,安装到尾部的 Advanced Installation Options,会看到两个复选框:一个是 “Add Anaconda3 to my PATH environment variable”,另一个是 “Register Anaconda3 as my default Python 3.11”。
官方默认是不勾选第一项的,因为把 Anaconda 加进系统 PATH 容易和电脑上已经存在的 Python 版本产生冲突。但如果你是一个纯新手,电脑上没有其他 Python 环境,勾选它倒也能少点麻烦,至少以后在 cmd 里直接输入 conda 就能用。我的建议是:如果你打算长期用 Anaconda Prompt 或者 PyCharm,那就别勾选 PATH,用 Anaconda 自带的命令行工具反而更干净;如果你希望在任何终端都能直接敲 conda 命令,勾选也行,但要留意系统变量里的顺序,确保 Anaconda 的路径排在其他 Python 之前。第二项建议勾选,它会把 Anaconda 的 Python 注册为系统默认 Python,方便很多工具自动识别。
安装完成后,开始菜单里会出现 Anaconda Prompt、Anaconda Navigator、Jupyter Notebook 等快捷方式。先不用急着打开 PyCharm,我们后面还要做镜像源配置和环境创建。
2.2 PyCharm 下载与安装:社区版其实够用
PyCharm 的下载页面在 JetBrains 官网,打开 jetbrains.com/pycharm 后会看到两个版本:Professional 和 Community。如果你只是学习、做数据分析、写自动化脚本,Community 社区版完全够用,不需要去搜索任何所谓“激活码”,那是版权红线,没必要碰。专业版有 30 天试用期,功能确实更强,但日常开发感觉差异没那么明显。我的建议是:先装社区版跑通流程,后面真有 Web 开发需求再升级专业版或考虑购买正版授权。
下载时注意选 Windows/macOS/Linux 对应版本。安装过程基本就是一路 Next,有几个细节值得留意:一是安装路径同样避免中文,二是在 Installation Options 里建议勾选 “Add launchers dir to the PATH”,这样以后在命令行里输入 charm 也能启动;三是 “Create Associations” 建议把 .py 文件关联给 PyCharm,方便双击直接打开。安装好后首次启动会让你选择主题,这个随便选,后续还能改。然后它会问你是否需要导入之前的配置,如果之前没装过 PyCharm,直接选 Do not import settings 即可。
2.3 装机后的第一件事:把 conda 和 pip 换到国内源
这一步很多人会跳过,直到后面 conda create 时看着进度条像蜗牛一样爬,才回头来找解决办法。Anaconda 默认的软件源在国外服务器,国内访问速度极不稳定,几十 MB 的包可能下到一半就超时。解决办法很简单:把 conda 的下载源换成清华 TUNA 镜像。
打开 Anaconda Prompt,按顺序执行以下命令:
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/r/ conda config --set show_channel_urls yes注意,conda 的 channels 是有优先级的,后添加的通道排在前面。如果你想彻底屏蔽默认源,可以再执行conda config --remove channels defaults。但有时候默认源里有些包镜像源还没有,我建议先保留 defaults 作为 fallback,或者设置 channel_priority 为 flexible,让 conda 自动选择可用通道。配置完可以用conda config --show channels检查一下。
同理,pip 也要换源,否则后面用 pip 装包的时候又会卡住。执行:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple换完源之后,你会发现下载速度直接从“分钟起步”变成“秒过”,这一小步能大幅提升后续体验。
3. 环境配置:从 conda 创建环境到 PyCharm 接入
3.1 先验证安装:打开 Anaconda Prompt 检查版本
安装完成后别急着写代码,先确认工具链是否可用。打开 Anaconda Prompt,输入conda --version,看到类似conda 23.7.4的输出说明 conda 正常;再输入python --version,看到Python 3.11.x说明 Anaconda 自带的 Python 解释器也已经就位。如果是在普通 cmd 里运行conda --version提示找不到命令,多半是因为安装时没加 PATH,或者环境变量没刷新。此时可以重新打开一个终端窗口再试,如果还是不行,要么回到 Anaconda Prompt 里操作,要么手动检查环境变量。
这一步是整个环境配置的“地基”。有人会发现电脑里之前装过别的 Python,输入python --version显示的并不是 Anaconda 的版本,这是典型的 PATH 顺序问题。解决办法很简单:在终端里执行where python,看返回的路径列表里哪个 Python 排在前面,再把 Anaconda 的路径调整到更靠前的位置。Windows 下修改系统环境变量 PATH 时,建议把D:\Anaconda3、D:\Anaconda3\Scripts、D:\Anaconda3\Library\bin这三条放到最上面。macOS/Linux 则需要在.bash_profile或.zshrc里添加export PATH="/Users/你的用户名/anaconda3/bin:$PATH",然后source一下。
3.2 用 conda 创建虚拟环境:独立项目独立环境
很多人装完 Anaconda 就直接用默认的 base 环境,这没问题,但如果你想做多个项目,我强烈建议为每个项目单独创建一个虚拟环境。原因前面也提过:项目之间的依赖相互独立,环境坏了大不了删除重建,不用重装整个 Anaconda。
创建环境的基本命令是:
conda create -n myproject python=3.11其中myproject是环境名称,你可以换成任何需要的名字,比如data、web、tf,但尽量用英文,别带空格。创建期间 conda 会自动解析并下载 Python 3.11 的依赖包,耐心等一会儿。创建完成后激活环境:
conda activate myproject激活成功后,命令行提示符前面会出现(myproject)的标识,这说明你已经进入了名为 myproject 的独立空间。在这个空间里使用pip install和conda install安装的包,都只会进入这个环境,不会污染全局。
接下来安装几个常用包测试一下:
conda install numpy pandas matplotlib jupyter如果是在国内镜像源下,这个速度会比较理想。装完之后输入python进入交互模式,执行import numpy,如果没有报错,说明环境已经可用。后续所有项目的工作都建议在这个环境里进行,别一股脑装在 base 环境。
3.3 在 PyCharm 中配置 Anaconda 解释器:三分钟接好
PyCharm 本身只是个编辑器和调试器,真正执行代码靠的是 Python 解释器。我们要做的就是把 PyCharm 指向刚才创建好的 conda 环境里的解释器。
打开 PyCharm,新建项目时,左侧选择 Python 或 Pure Python,然后在右侧的 Interpreter 设置里点 Add Interpreter,选 Conda Environment。此时可以选择 Existing environment 并在下拉框里找到刚刚创建的 myproject 环境,如果下拉框里没有,就手动点右侧的“…”按钮,找到 Anaconda 安装目录下envs\myproject\python.exe这个文件。这里要注意:很多人会去选 Anaconda 根目录下的python.exe,那是 base 环境的解释器,不是我们创建的环境,别选错。选好后 PyCharm 会弹出列表显示这个环境里的所有包,确认无误后点 OK,项目创建完成。
如果项目已经建好了,也可以通过 File -> Settings -> Project -> Python Interpreter 进入配置,再点齿轮图标选择 Add。配置完成后,直接在 PyCharm 里写一个简单的脚本测试一下:
import numpy as np print(np.__version__) print("hello env")能正常输出版本号就说明 PyCharm 成功识别了 conda 环境。以后你换一台电脑,只要重新装好 Anaconda 和 PyCharm,用同样的方式建一个同名环境,项目代码基本可以无缝迁移。
3.4 把 PyCharm 终端也变成 conda 环境:解决“说它不认得 conda 命令”
很多人会遇到一个很诡异的情况:PyCharm 里写代码没问题,但打开底部 Terminal 面板想执行conda activate myproject,系统却提示conda 不是内部或外部命令。这通常是因为 PyCharm 的终端默认使用系统 cmd,而刚才安装 Anaconda 时没有把 PATH 写进系统变量。
解决方法有两种。第一种是在 Anaconda Prompt 里先执行一次conda init,这个命令会把 conda 初始化脚本写入当前 shell 的配置文件中,之后 PyCharm 的终端就有机会加载 conda。执行完成后重启 PyCharm。第二种是手动指定 PyCharm 终端环境:File -> Settings -> Tools -> Terminal,把 Shell path 设置为cmd.exe /k "D:\Anaconda3\Scripts\activate.bat D:\Anaconda3",注意路径要换成你的实际安装路径。这样每次打开终端,它都会自动初始化 conda,直接就能用conda activate。
顺便提一句,如果你在 Anaconda Prompt 里执行conda activate遇到 “CommandNotFoundError” 或提示需要conda init,按提示运行conda init并重开终端即可。这是一个和系统 shell 初始化相关的问题,不是环境坏了。
4. 常见问题与排查技巧实录
4.1 conda 下载慢到没脾气:换源后的最后一步检查
配置了清华源之后速度应该会有显著提升,但如果还是慢,先看一眼.condarc文件是不是被其他工具覆盖了。在用户目录下找到.condarc文件,用记事本打开,检查 channels 列表是否包含我们添加的清华源。有时候安装其他软件会自动重置源,导致配置失效。
还有一种情况是 conda 在解析依赖时仍然访问了 defaults 源。你可以在命令后面临时指定通道,比如:
conda install numpy -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/或者直接把channel_priority设为 strict,强制 conda 只用配置的镜像站。注意,过于严格可能导致某些包找不到,所以一般设 flexible 就够了。另外,如果下载包时出现中断和缓存错误,可以执行conda clean -i来清除索引缓存,然后重新安装。
4.2 “conda 不是内部或外部命令”怎么处理
这个问题我在前面提过,这里再单独展开。出现这个提示,绝大多数是因为安装 Anaconda 时没有勾选 “Add to PATH”,导致普通 cmd 找不到 conda 命令。处理方式有两种:一是把所有 Anaconda 相关路径手动加入系统变量 PATH,包括 Anaconda 安装目录、Scripts、Library\bin、Library\usr\bin、Library\mingw-w64\bin;二是干脆使用 Anaconda Prompt 来执行命令,不再依赖 cmd。对新手来说,我推荐第二种,省事且安全,因为 Anaconda Prompt 已经帮你把所有环境变量配置好了。
如果你确实需要手动配 PATH,在 Windows 搜索“环境变量”,找到系统变量里的 Path,新建并粘贴以下路径:
D:\Anaconda3 D:\Anaconda3\Scripts D:\Anaconda3\Library\bin D:\Anaconda3\Library\usr\bin D:\Anaconda3\Library\mingw-w64\bin填好之后保存,重新打开终端,执行conda --version验证。注意修改环境变量后要重开终端,否则不生效。
4.3 PyCharm 导入 numpy 报错:先查解释器
如果代码里写了import numpy,但在 PyCharm 里运行直接报ModuleNotFoundError: No module named 'numpy',大概率是解释器选错了。打开 File -> Settings -> Project -> Python Interpreter,看右上角当前选择的路径,如果不是你刚才配置的 conda 环境路径,换成正确的即可。这里有个小技巧:直接在 PyCharm 的 Python Console 里执行import sys; print(sys.executable),它会打印当前解释器的实际路径,一目了然。
还有一种可能是环境内确实没装 numpy。这时候回到 PyCharm 底部 Terminal,执行conda activate myproject后再conda install numpy,装完回来重新运行。不要直接在 PyCharm 的包管理界面里乱搜索安装,因为那个界面有时候会默认往 base 环境里装,装完你的项目环境里还是没有。
4.4 pip 安装 C 扩展报 “Microsoft Visual C++ 14.0 is required”
这个报错常见于用 pip 安装某些包含 C/C++ 扩展的包,比如dlib、faiss、pycocotools,报错信息大致是“error: Microsoft Visual C++ 14.0 is required. Get it with 'Microsoft C++ Build Tools'”。含义是这些包在 Windows 上没有现成的 wheel 文件,pip 需要现场编译,而编译需要 VC++ 工具链。
解决办法有两个方向。最省事的是改用 conda 安装,因为 conda 的包通常已经帮你准备好编译好的二进制文件,比如执行conda install pycocotools大概率就不会触发编译器问题。如果 conda 里没有这个包,那就老老实实安装 Microsoft C++ Build Tools,到 visualstudio.microsoft.com/visual-cpp-build-tools/ 下载安装程序,安装时勾选“使用 C++ 的桌面开发”,体积比较大,但装完一劳永逸。装完重启 PyCharm,重新运行安装命令即可。
这个报错本身不是 Anaconda 的问题,但新手常常以为环境坏了,其实只是缺了编译工具。遇到也不要慌,装个 Build Tools 就行。
4.5 环境串了:conda 和 pip 混装包导致的诡异问题
最后聊聊一个比较容易忽视的坑:在 conda 环境里使用 pip install 装内置包没问题,但如果你既用 conda install 又用 pip install 去装同一个包的不同版本,可能会出现环境混乱。因为 conda 和 pip 是两套独立的包管理系统,它们各自维护自己的索引,pip 装了包之后 conda 可能感知不到,反过来也一样。
我个人的习惯是:优先用 conda install 安装所有能装上的包,只有在 conda 源里没有时才退而使用 pip install。而且不要在一个环境里频繁切换两个工具装同一个包。如果真出现了版本冲突,最快的解决办法就是记录下需要的依赖,然后删除虚拟环境重建:
conda env export > environment.yml conda deactivate conda env remove -n myproject conda env create -f environment.yml这招在环境彻底“乱掉”时特别好用,特别是遇到某些包二进制的元数据不一致,导致启动时 pyinstaller 或 jupyter 报错的情况,重建环境比手动修复快得多。
附:常用 conda 命令速查表
为方便收藏,我把日常最常看到的 conda 命令整理成一个表:
| 操作 | 命令 |
|---|---|
| 查看 conda 版本 | conda --version |
| 查看所有环境 | conda env list |
| 创建环境 | conda create -n 环境名 python=3.11 |
| 激活环境 | conda activate 环境名 |
| 退出当前环境 | conda deactivate |
| 删除环境 | conda env remove -n 环境名 |
| 安装包 | conda install 包名 |
| 卸载包 | conda uninstall 包名 |
| 查看当前环境的包列表 | conda list |
| 导出环境配置 | conda env export > environment.yml |
| 通过配置文件创建环境 | conda env create -f environment.yml |
| 清理缓存 | conda clean -a |
这几个命令覆盖了大部分日常操作。刚开始记不全没关系,用久了自然就熟练了。
最后再分享一个我自己的习惯:每次新建项目时,不管项目大小,我都会先创建一个新的 conda 环境,再把 PyCharm 的解释器指过去。换电脑或者重装系统时,只要保留每个项目根目录下的 environment.yml 文件,就能在五分钟内把所有依赖全部复原。这个组合我用了很多年,2023 这一版应该也是目前主流团队最常用的方案,希望这篇能帮你少走一点路。