简介:这份文档面向刚接触 Python 数据分析与深度学习的初学者,聚焦 Anaconda 与 PyCharm 的安装及编译器配置这一常见入门难点,帮助读者打通从环境搭建到库调用的完整链路。资源包共 1 个 docx 文件,约 4.22MB,以图文步骤形式记录安装与配置过程,便于边看边操作。内容覆盖 Anaconda 安装与 conda list 验证、借助清华镜像用 pip 安装 OpenCV、TensorFlow、Keras 等库,以及 PyCharm 安装后在 Project Interpreter 中添加 Anaconda 下 python.exe 的具体操作,并附有各步骤成功标志的截图说明。已有 6952 人学习,适合需要快速完成环境准备、少走弯路的高校学生与自学者参考。
1. 装完 Anaconda 却 import 报错:这套环境配置到底卡在哪
很多人第一次配 Python 深度学习环境,卡住的地方不是写代码,而是装完 Anaconda、装完 PyCharm 之后,import tensorflow直接一片红。更迷惑的是,在 Anaconda Prompt 里敲conda list明明能看到一堆库,切到 PyCharm 里跑同一行代码却提示 ModuleNotFoundError。这不是玄学,是解释器没对上——PyCharm 默认可能用了系统自带的 Python,而你装的库全在 Anaconda 那个解释器下面,两边根本不是一个环境。
这份教程要解决的就是这条链路:Anaconda 装好、验证装好、用 pip 加镜像源装 OpenCV/TensorFlow/Keras 这类额外库、PyCharm 里把解释器指到 Anaconda 的python.exe。适合刚上手深度学习、计算机视觉,被环境问题反复折腾的新手,也适合需要给机器快速配一套可复现环境的从业者。下面按我实际拆装的顺序走一遍,参数和坑都写清楚。
2. 安装与验证:从安装包到 conda list 跑通
2.1 安装时那两个勾选项到底要不要动
Anaconda 安装包跑起来之后,前面基本一路下一步,真正需要停一下的是最后一个页面的两个勾选项。原文的说法是「取消勾选,不过也无所谓,如果勾选会打开浏览器」。我的建议是都取消:一个是安装完成后自动打开说明页面,勾了会弹浏览器,纯干扰;另一个是把它加进 PATH 环境变量,这个对新手反而是坑——一旦 Anaconda 进了系统 PATH,后面你装别的 Python 或者别的工具链,命令行里python指向谁就变得不可控,出问题很难排查。
不勾 PATH 的代价是:命令行里直接敲conda会提示找不到命令。这不是装失败,是设计如此。正确入口是开始菜单里 Anaconda3 文件夹下的 Anaconda Prompt,它启动时会自己把 conda 相关路径配好。我一般会把这个 Prompt 固定到任务栏,后面所有 conda/pip 操作都从它进,避免和系统终端混用。
安装路径上有个血泪经验:别放在带中文或空格的目录下。默认的C:\Users\用户名\anaconda3里如果用户名是中文,某些库在编译或加载动态链接库时会出莫名其妙的错。稳妥做法是装到D:\anaconda3这种纯英文短路径,后面配 PyCharm 解释器时路径也好找。
2.2 用 conda list 验证安装是否真的成功
装完之后不要急着装库,先验证。打开 Anaconda Prompt,输入:
conda list这条命令列出当前 base 环境里所有已安装的包,输出是一大串「包名 版本号 构建号 渠道」的表格。能看到几十上百行,说明 conda 本身工作正常、base 环境完整。如果提示conda 不是内部或外部命令,八成是你没从 Anaconda Prompt 进,而是开了系统的 cmd;如果列表是空的或者报环境损坏,那才是真装坏了,重装比修快。
顺手再确认一下 Python 版本,因为后面装 TensorFlow 要跟版本对齐:
python --version conda --version两条都返回版本号,环境这块就算立住了。这里有个细节:conda list成功不代表 pip 可用,再补一条pip --version,确认 pip 指向的是 Anaconda 目录下的那个,而不是系统 Python 的 pip。这一步很多人跳过,结果后面pip install装到了别的解释器里,PyCharm 里照样 import 不到。
2.3 base 环境该不该直接装库
教程里是直接在 base 环境pip install的,能跑通,但我不推荐长期这么干。base 是 conda 自己的根基环境,往里塞 TensorFlow 这种依赖一大堆的库,一旦版本冲突,整个 conda 都可能不好使,修复成本很高。常见做法是给每个项目建独立环境:
conda create -n dl_env python=3.8 conda activate dl_env-n dl_env是环境名,python=3.8指定解释器版本——这个版本要跟你打算装的 TensorFlow 匹配,比如 TensorFlow 1.13 系列对 Python 3.7/3.8 支持较好,装到 3.11 上基本没戏。激活之后命令行前面会出现(dl_env),之后所有 pip 安装都落在这个环境里,互不污染。如果只是跟着教程快速验证一遍,base 里装也无妨,但心里要清楚这是临时方案。
3. pip 装库与镜像源:OpenCV、TensorFlow、Keras 怎么装不翻车
3.1 pip install 加清华镜像的完整写法
在 Anaconda Prompt(或激活后的目标环境)里装库,核心命令就一条:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple拆开看:pip install是安装动作,opencv-python是包名,-i后面跟的是索引地址,这里用清华镜像,国内下载速度比默认源快很多,大包比如 TensorFlow 动辄几百 MB,不加镜像经常卡到超时。装 TensorFlow 指定版本时这样写:
pip install tensorflow==1.13.1 -i https://pypi.tuna.tsinghua.edu.cn/simple==1.13.1是版本锁定,不写就装最新版。Keras 同理,但要注意 Keras 和 TensorFlow 的版本对应关系——TensorFlow 1.x 时代 Keras 是独立包,2.x 之后tf.keras已经内置,再单独装 Keras 容易版本打架。我的习惯是:用 TensorFlow 2.x 就不单独装 Keras,直接from tensorflow import keras;只有明确要复现老代码才装对应版本的独立 Keras。
3.2 装完怎么确认库真的可用
装完不要只看 pip 的 Successfully installed,要实际 import 一次:
import cv2 import tensorflow as tf print(cv2.__version__) print(tf.__version__)cv2.__version__打印出 OpenCV 版本号,tf.__version__打印 TensorFlow 版本,两行都有输出且不报错,才算真装好。如果 import cv2 报DLL load failed,常见原因是缺 Visual C++ 运行库,或者 Python 版本和 opencv-python 的 wheel 不匹配,换个 Python 小版本或装opencv-python-headless往往能绕过去。
3.3 镜像源写死到配置文件里省事
每次都敲-i太啰嗦,可以把镜像源写进 pip 配置。Windows 下在用户目录建pip\pip.ini:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cnindex-url是默认索引,trusted-host是告诉 pip 这个源可信,避免 https 证书告警。配好之后直接pip install 包名就走镜像。注意别把公司内网源和公网镜像混着配,容易互相覆盖,出问题时先pip config list看一眼当前生效的是哪个。
4. PyCharm 解释器配置:让 IDE 认到 Anaconda 的 python.exe
4.1 从 Settings 找到 Interpreter 的正确路径
PyCharm 装完首次打开会走一遍初始化,主题、插件那些按提示点就行,不影响环境。真正关键的是把项目解释器指到 Anaconda。路径是:File → Settings(macOS 是PyCharm → Preferences)→ 左侧Project: 项目名→Python Interpreter。这里默认可能显示<No interpreter>或者一个系统 Python,点右侧齿轮图标,选Add,新版本 PyCharm 里也可能叫Add Interpreter。
弹出的窗口里选Conda Environment或System Interpreter都行,本质都是让你手动指定一个python.exe。选System Interpreter最直接:浏览到 Anaconda 安装目录,找到根下的python.exe,比如D:\anaconda3\python.exe。如果你在第 2 章建了独立环境,路径是D:\anaconda3\envs\dl_env\python.exe,别指错到 base 去了。
4.2 配好之后怎么验证解释器真的生效
配完回到主界面,右下角状态栏会显示当前解释器名字和 Python 版本。更靠谱的验证是开一个 Python 文件跑:
import sys print(sys.executable)sys.executable打印出来的路径,必须是你刚才指定的那个python.exe。如果打印的是C:\Python39\python.exe之类,说明解释器没切过来,回 Settings 重选。这一步是整篇教程的分水岭——路径对了,Anaconda 里装的库 PyCharm 全能 import;路径错了,装再多库也是白搭。
4.3 包管理面板和终端要跟解释器一致
PyCharm 底部的Python Packages面板和内置 Terminal,默认跟随当前项目解释器。但内置 Terminal 有个坑:它可能继承系统环境变量,敲pip时用的不一定是项目解释器对应的 pip。稳妥做法是在 Terminal 里先where python(Windows)或which python确认指向,再执行安装。或者干脆统一在 Anaconda Prompt 里装库,PyCharm 只负责写代码和调试,职责分开,少一类问题。
5. 避坑排查:环境配置里最容易翻车的五件事
5.1 现象:PyCharm 里 import 报 ModuleNotFoundError,Prompt 里却正常
原因几乎都是解释器不一致:库装在了 A 解释器,PyCharm 用的是 B 解释器。解决方法是按 4.2 节打印sys.executable对路径,确认 PyCharm 指向的就是装库那个环境;如果装库时没激活环境,库可能进了 base,而项目用的是dl_env,那就conda activate dl_env后重装一遍。
5.2 现象:pip install 卡在下载或直接超时
原因是没有走镜像源,或者镜像源地址写错。解决方法是命令里显式加-i https://pypi.tuna.tsinghua.edu.cn/simple,或者按 3.3 节写进 pip.ini。如果加了镜像还慢,检查是不是公司网络对 https 做了拦截,换--trusted-host参数或换一个可用镜像再试。
5.3 现象:TensorFlow 装上了但 import 报一堆 DLL 或 numpy 版本冲突
原因是 TensorFlow 对 Python 版本和 numpy 版本有硬约束,pip 自动解析依赖时可能装了个不兼容的 numpy。解决方法是先看报错里提到的包名和版本,用pip install "numpy<1.20"这类方式把版本压回去,或者干脆新建一个干净环境,按「Python 版本 → TensorFlow 版本 → 其余库」的顺序装,别在已经装乱的 base 里硬修。
5.4 现象:conda 命令在普通 cmd 里能用,在 PyCharm Terminal 里不能用
原因是安装时没勾 PATH,Anaconda Prompt 自己配了路径,普通终端没有。这不是故障。解决方法是要么统一用 Anaconda Prompt 做环境操作,要么在 PyCharm Terminal 里手动调 conda 的绝对路径,比如D:\anaconda3\Scripts\conda.exe。不建议为了图方便把 Anaconda 塞进系统 PATH,后患比便利多。
5.5 现象:装完 OpenCV,cv2.imshow能跑但窗口一闪而过或报错
原因是opencv-python带 GUI 依赖,在某些精简环境或缺图形库的机器上不完整。解决方法是换opencv-python-headless(无 GUI,适合服务器),或者补装对应的系统运行库。另外确认代码里cv2.waitKey(0)没漏,漏了窗口就是一闪而过,这属于代码问题不是环境问题,但新手经常混为一谈。
6. 进阶技巧:用 environment.yml 把整套环境固化下来
环境配通一次不算完,换机器、重装系统、给同事复现,最怕从头再来一遍。我现在的习惯是配好之后立刻把环境导出成文件,下次一条命令重建。在目标环境激活状态下执行:
conda env export > environment.yml生成的environment.yml里记录了环境名、Python 版本、conda 渠道的包和 pip 装的包。换机器时:
conda env create -f environment.yml就能把整套依赖拉回来。但这里有个坑:conda env export默认会带上prefix:那一行绝对路径,跨机器会失效,导出后手动删掉这行再存。另外 pip 装的包在 yml 里是列在pip:段下的,重建时依赖 pip 可用,网络不通照样失败,所以镜像源配置最好也一并写进文档。
如果只想导出「我显式装了什么」而不带一堆传递依赖,用:
conda env export --from-history > environment.yml--from-history只记录你手动conda install过的包,文件干净很多,但 pip 装的包可能不全,需要自己补。两种方式按场景选:要精确复现用完整导出,要轻量可读用 history 导出。
再补一个验证习惯:重建环境后,别急着跑业务代码,先跑一遍第 3.2 节那几行 import 加版本打印,确认 cv2 和 tf 都能加载、版本符合预期,再往下走。我吃过一次亏,yml 里 TensorFlow 版本没锁死,重建时拉了个新版,接口全变了,排查了半天才发现是环境漂移。从那以后我每次导出 environment.yml 都强制把关键库的版本号写死,重建后先跑一遍 import 冒烟测试再动代码。希望帮到你。
本文还有配套的精品资源,点击获取