简介:面向 Python 初学者与数据科学入门者的环境搭建图文教程,聚焦 Anaconda、PyCharm 的安装及两者的编译器对接,帮助读者跨过环境配置与第三方库安装的门槛。资源以 docx 单文档交付,压缩包共 1 个文件、约 4.22MB,内容按安装、验证、扩库、IDE 配置的顺序编排,步骤连贯紧凑。正文从 Anaconda 安装讲起,用 Anaconda Prompt 执行 conda list 确认环境可用,再演示以 pip 配合清华镜像源安装 OpenCV、TensorFlow、Keras 等库的写法,并说明版本号与镜像参数的填写位置。PyCharm 部分覆盖默认安装与首次初始化,以及在 Project Interpreter 中通过齿轮菜单添加 anaconda3 目录下 python.exe 的完整路径,使项目可直接调用环境中已装好的库。目前已有 6954 人学习,适合希望一次跑通深度学习与计算机视觉实验环境的学习者对照操作。
1. 先装谁不是小事:Anaconda 与 PyCharm 的版本顺序
某开发者拿到一份 Anaconda+PyCharm 的安装笔记,照着点完安装包,PyCharm 也顺利打开,结果在 Anaconda Prompt 里执行pip install tensorflow==1.13.1时卡在Could not find a version that satisfies the requirement。他以为是镜像地址写错了,换了几个源还是一样。真正的原因不是网络,而是 Anaconda 默认自带的 Python 版本太新,旧版 TensorFlow 根本没有对应的安装包。这套环境在课程实验、图像处理 Demo、深度学习入门里太常见了:Anaconda 管库,PyCharm 写代码,TensorFlow、Keras、OpenCV 负责跑模型和处理图片。装不好不会立刻报错,而是表现为 PyCharm 里import cv2标红、conda list明明有包但项目解释器没挂上、pip 把库装进了 base 环境。适合第一次在 Windows 上配 Python 数据分析环境的人,也适合要复现旧教程、旧代码的人。先别急着追最新版,把版本顺序理清,后面能少返工。
2. 装 Anaconda:安装包、路径和最后两个勾选项
Anaconda 的安装包本身不复杂,双击、等加载、点下一步,真正容易留下后患的是路径和选项。安装过程中最后两个勾选项,原文说取消勾选,勾了也无非是安装完打开浏览器介绍页;我的习惯是全部取消,装完自己从开始菜单打开 Anaconda Prompt,避免浏览器和终端一起弹出来,干扰判断。安装类型选 Just Me,路径用纯英文、不带空格,别装进桌面或中文目录。不是矫情,后面 pip 装 TensorFlow、OpenCV 时,编译工具和临时文件对中文路径的兼容性时好时坏,这种玄学问题排查起来最费时间。
2.1 选安装包与版本:别用最新版硬扛旧库
Anaconda 安装包按系统位数选,Windows 上选 64 位。安装包版本不用在正文里背具体数字,下载页给什么就用什么,但心里要清楚:Anaconda 自带的是 base 环境,base 里的 Python 版本可能比较新。新版本跑新代码没问题,跑tensorflow==1.13.1这种旧版本就会翻车。常见做法是 Anaconda 只负责提供 conda 和环境管理能力,具体项目的 Python 版本在独立环境里指定,不要直接在 base 里反复装旧库。
安装选项可以按下面这张表核对一遍:
| 安装选项 | 建议 | 原因 |
|---|---|---|
| 安装类型 | Just Me | 避免管理员权限写系统目录 |
| 安装路径 | 纯英文、无空格 | 减少 pip 和编译工具路径解析问题 |
| 添加环境变量 | 不勾选 | 用 Anaconda Prompt 更稳,避免和系统 Python 冲突 |
| 最后两个勾选 | 取消 | 不自动打开浏览器和介绍页 |
如果安装时勾了“添加环境变量”,也不是不能用,但系统里可能同时存在多个python.exe,后面在 PyCharm 里配解释器时要认准路径。装完先别急着开 PyCharm,先把 Anaconda 自己的命令行跑通。
2.2 安装路径与两个勾选项:为什么不建议装进中文路径
安装路径我一般会放在C:\anaconda3或者D:\anaconda3这种短路径下。不是强迫症,是后面pip install拉 wheel 包时,有些包会在临时目录里解压、编译,路径里带中文或空格,报错信息往往只给你一行error: could not create,看不出是路径问题。新手容易把 Anaconda 装到C:\Users\某用户\桌面\anaconda3,当时能打开,装库时开始出问题。
装完之后可以先用系统命令看看当前机器上有几个 Python:
# 查看系统 PATH 里能找哪些 python,避免装完调用错 where.exe pythonwhere.exe是 Windows 自带的命令,会按 PATH 顺序列出所有python可执行文件。如果输出多条,说明系统里可能还有别的 Python。这里不用急着删,后面在 PyCharm 里指定 Anaconda 环境下的python.exe就行。注意:如果这条命令一条都找不到,也不代表 Anaconda 没装好,因为安装时没勾选添加环境变量,系统 PATH 里本来就不会有它。
2.3 验证 conda list 之前先看 conda info
安装完成后,从开始菜单找到 Anaconda3 文件夹,打开 Anaconda Prompt。不要用普通 cmd 去敲conda,新手最常见的第一口锅就是“conda 不是内部或外部命令”。在 Anaconda Prompt 里依次执行:
# 查看 conda 版本,确认命令可用 conda --version # 查看 base 环境路径和 Python 版本 conda info # 列出已安装的包,出现一堆库说明环境正常 conda listconda --version只证明 conda 命令能调用;conda info更有用,它会打印 base environment 的路径、Python 版本、平台信息。原文说输入conda list出现一堆库就算安装成功,这个判断没错,但我建议先看conda info,确认 base 环境到底装在哪里、Python 是哪个版本。后面建独立环境、在 PyCharm 里找python.exe,都要靠这个路径。
提示:
conda list输出很长,不用逐行看。确认没有报错、列表里有python、pip、numpy这些基础包,就可以进入下一步。
3. 建独立环境:把 TensorFlow 1.13.1 关进 tf113
Anaconda 装完只是有了一个 base 环境,base 像公共工具箱,什么都往里塞,时间久了很难收拾。旧版 TensorFlow 对 Python 版本挑剔,直接装在 base 里,轻则装不上,重则把 base 的依赖搞乱。我的做法是给每个项目建独立环境,名字直接体现用途,比如tf113。这样即使装坏了,删掉环境重来就行,不用重装 Anaconda。
3.1 创建环境与指定 Python 版本
在 Anaconda Prompt 里执行:
# 创建名为 tf113 的环境,指定 Python 3.7 conda create -n tf113 python=3.7 -y # 激活环境,提示符前面会出现 (tf113) conda activate tf113 # 确认当前环境里的 Python 版本 python -V-n后面跟环境名,这里叫tf113,你可以改成自己的项目名;python=3.7是指定解释器版本,旧版 TensorFlow 1.13.1 需要旧 Python,直接用新版本 Python 会找不到对应 wheel;-y是跳过确认,适合脚本化操作。激活后提示符会从(base)变成(tf113),这一步很关键,后面所有 pip 安装都要在这个环境里做。
如果python=3.7提示找不到包,先执行conda search python看当前配置的源里有哪些版本。常见做法是换一个可用的 conda 源,或者把版本放宽到当前源里存在的 3.x 版本。但注意,TensorFlow 1.13.1 对 Python 3.8 及以上支持很差,版本放宽也要在旧版本范围内选,不要直接跳到 3.11、3.12。
3.2 激活环境、换源与 pip 安装 OpenCV/TensorFlow/Keras
确认环境激活后,先看当前解释器路径,再装库:
# 确认自己在 tf113 里,不要回到 base conda activate tf113 # 打印当前 Python 解释器路径,后面 PyCharm 要填这个路径 python -c "import sys; print(sys.executable)" # 镜像地址换成你能访问的索引地址,结尾带 /simple export MIRROR_URL="https://<你的镜像站>/simple" # 安装 OpenCV,包名是 opencv-python,导入名是 cv2 python -m pip install opencv-python -i "$MIRROR_URL" # 固定 TensorFlow 版本,旧项目复现不要省略 == python -m pip install tensorflow==1.13.1 -i "$MIRROR_URL" # Keras 版本要和 TensorFlow 1.13.1 配套,不要随手拉最新 python -m pip install keras==2.2.4 -i "$MIRROR_URL"python -m pip比直接敲pip更稳,能确保 pip 属于当前激活的 Python 环境;-i后面是镜像索引地址,原文用的是某高校开源镜像,这里不写死具体域名,换成你能访问的国内镜像即可,结尾一般带/simple;tensorflow==1.13.1里的==是固定版本,旧代码复现时不要写成tensorflow,否则 pip 会拉最新版,装完 import 直接报错。keras==2.2.4是旧版 TensorFlow 常见的配套选择,如果你只用tf.keras,独立 Keras 可以不装,但旧教程里经常出现from keras.models import Sequential,装上更省事。
装完执行一次python -m pip list,看opencv-python、tensorflow、keras是否都在列表里。注意包名和导入名不是一回事:opencv-python装完后代码里写import cv2,不是import opencv-python。
3.3 版本号写死与不写死的差别
版本号写不写死,取决于你要干什么。新项目可以用较新的库,旧项目复现必须写死。下面这张表可以对照:
| 写法 | 结果 | 适用场景 |
|---|---|---|
pip install tensorflow | 拉当前最新版 | 新项目、只做入门测试 |
pip install tensorflow==1.13.1 | 固定旧版,需要旧 Python | 复现旧教程、旧代码 |
pip install keras | 可能拉到与 TensorFlow 不匹配的版本 | 不推荐旧环境使用 |
pip install keras==2.2.4 | 与 TensorFlow 1.13.1 配套更稳 | 旧版 Keras 代码 |
还有一个常见误区:在 base 里装了一遍,又在tf113里装一遍,最后 PyCharm 选的是 base,代码却以为自己在tf113。判断方法很简单,在 Anaconda Prompt 里激活环境后执行python -c "import sys; print(sys.executable)",路径里带envs\tf113才是对的。后面配 PyCharm 时,认的也是这个路径。
4. 配 PyCharm 解释器:齿轮里的 Show All 到底点哪里
PyCharm 安装本身比 Anaconda 简单,双击安装包,一路下一步,最后点 Finish。首次打开会问主题、插件、是否导入配置,按默认走就行。真正决定这套环境能不能跑起来的,是 PyCharm 里的解释器配置。Anaconda 装了一堆库,PyCharm 不会自动知道,必须手动把项目解释器指向tf113环境下的python.exe。
4.1 PyCharm 安装与首次启动:Community/Professional 怎么选
PyCharm 有 Community 和 Professional 两个版本。本地写 Python、连 Anaconda 解释器、跑 OpenCV 和 TensorFlow,Community 够用;Professional 多了数据库、远程开发、科学工具等能力,初学阶段不必纠结。安装路径同样建议纯英文、无空格,和 Anaconda 放在同一个盘里,后面找路径方便。
首次启动的初始化配置不用太在意,主题、字体、快捷键都可以后面改。安装完成后先别急着新建项目,先确认 PyCharm 能正常打开。打开后如果提示创建项目,先建一个空项目,或者直接打开一个已有目录,后面在设置里配解释器。
4.2 把 Anaconda 环境挂进 Project Interpreter
打开 PyCharm,进入File > Settings,macOS 上是PyCharm > Preferences。在左侧找到Project: 你的项目名 > Python Interpreter,旧版叫Project Interpreter。点右侧齿轮,旧版会出现Show All,再点+添加;新版 PyCharm 的入口叫Add Interpreter,可以直接选Conda Environment或Existing environment。原文写的是齿轮里的Show All,这是旧版界面的路径,新版找不到Show All不是装错了,是界面改了。
配置时不要选“New environment”,除非你想让 PyCharm 再建一个 conda 环境。这里要选已有环境,解释器路径指向:
C:\Users\<用户名>\anaconda3\envs\tf113\python.exe如果你把 Anaconda 装在D:\anaconda3,路径就是D:\anaconda3\envs\tf113\python.exe。不确定路径时,回到 Anaconda Prompt 执行:
# 列出所有 conda 环境,找到 tf113 对应的路径 conda info --envsconda info --envs会列出环境名和路径,tf113那一行后面的目录就是环境根目录,再拼上\python.exe。注意不要选成anaconda3\python.exe,那是 base 环境;也不要选pythonw.exe,那是无控制台窗口的版本,调试时看不到输出。
4.3 解释器路径核对:python.exe 到底在哪
配完解释器后,PyCharm 右下角会显示当前解释器名称,点开能看到路径。更稳的核对方式是在 PyCharm 的 Terminal 里执行:
# 先激活环境,再确认解释器路径 conda activate tf113 python -c "import sys; print(sys.executable)"如果 PyCharm Terminal 里conda命令不可用,说明 Terminal 没有继承 Anaconda 的环境初始化,可以直接在设置里把 Terminal 的 shell 路径改成 Anaconda Prompt,或者手动执行conda init后重开终端。这里不用追求一次成功,重点是确认 Terminal 打印出来的sys.executable和设置里选中的python.exe是同一个路径。路径对不上,后面import tensorflow一定出问题。
注意:PyCharm 的设置里改的是“项目解释器”,不是“系统环境变量”。改完不需要重启电脑,但建议重启当前 Python 运行配置,避免旧进程还挂着之前的解释器。
5. 排查五连:装完 import 报错先查这几处
安装过程中最耗时间的不是点下一步,而是装完之后报错。下面五条是我在 Windows 上配 Anaconda+PyCharm 时最常遇到的,每条按“现象、原因、解决”记录。遇到报错先按顺序排查,不要一上来就重装 Anaconda。
5.1 现象:Anaconda Prompt 里 conda 正常,cmd 里 conda 不是内部命令
现象很典型:从开始菜单打开 Anaconda Prompt,conda --version有输出;换成普通 cmd 或 PowerShell,敲conda直接提示“不是内部或外部命令”。原因是安装时没有把 conda 加入系统 PATH,Anaconda Prompt 自己带了一套环境初始化,所以能用;普通终端没有这套初始化。解决方式不是急着把一堆路径塞进系统环境变量,而是继续用 Anaconda Prompt,或者在普通终端里执行一次:
# 让 conda 初始化 cmd,执行后重开终端 conda init cmd.execonda init会修改对应 shell 的启动脚本,执行完必须关掉当前终端重新打开。如果不想改系统配置,就用 Anaconda Prompt,别在 cmd 里硬敲。把 Anaconda 的Scripts、Library\bin一股脑加进 PATH 也能让命令可用,但容易和系统里其他 Python 冲突,后面 PyCharm 选错解释器的概率更高。
5.2 现象:pip 装完,PyCharm 里 import 还是 ModuleNotFoundError
现象是 Anaconda Prompt 里python -m pip list能看到tensorflow,PyCharm 里写import tensorflow还是报红。原因通常不是没装上,而是 PyCharm 用的解释器和 pip 装包的解释器不是同一个。比如 pip 装进了tf113,PyCharm 还挂着 base;或者 PyCharm 用的是系统 Python。解决方式是先在报错的项目里执行:
import sys print(sys.executable)看输出路径是不是envs\tf113\python.exe。不是就回到Settings > Python Interpreter换掉。换完再在 PyCharm 的 Terminal 里执行python -m pip show tensorflow,确认包在当前解释器里。不要只看conda list,因为conda list和pip list的记录来源不完全一样,尤其是用 pip 装进 conda 环境的包。
5.3 现象:TensorFlow 1.13.1 安装报 Could not find a version
现象是执行pip install tensorflow==1.13.1后提示找不到匹配版本,换镜像也一样。原因有三个常见方向:当前 Python 版本太新,旧版 TensorFlow 没有对应 wheel;装的是 32 位 Python;镜像站没有同步这个旧版本。先确认 Python 版本和位数:
# 查看 Python 版本 python -V # 查看是 32 位还是 64 位 python -c "import platform; print(platform.architecture())"如果 Python 是 3.11、3.12,直接建一个 Python 3.7 的 conda 环境,不要在 base 里硬装。如果输出是 32 位,卸载后换 64 位 Anaconda 安装包。镜像没有同步时,可以临时去掉-i用默认源试一次,或者换一个能访问的镜像。不要为了装旧版去改系统 Python,独立环境就是用来隔离这种版本冲突的。
5.4 现象:OpenCV 装上了但 cv2.imshow 闪退/报错
现象是import cv2成功,但调用cv2.imshow时窗口闪退,或者报 GUI 后端相关错误。原因是装成了opencv-python-headless,这个包不带 GUI 功能,适合服务器;本地要看图,得用opencv-python。解决方式是先卸载 headless,再装完整包:
# 卸载不带 GUI 的版本 python -m pip uninstall opencv-python-headless -y # 装回带 GUI 的完整包 python -m pip install opencv-python -i "$MIRROR_URL"如果两个都装了,也可能互相覆盖。装完执行python -c "import cv2; print(cv2.__version__)"确认能导入。还不行就看cv2.getBuildInformation()里的 GUI 段,确认后端不是NONE。这类问题不是 Anaconda 的锅,是包选错了。
5.5 现象:conda list 看不到 pip 装的包,或者环境越装越大
现象是明明用 pip 装了库,conda list里却没有;或者环境用了一段时间,体积越来越大,装包开始变慢。原因是 conda 和 pip 的包记录机制不同,pip 装的包不一定出现在 conda 的包列表里;另外在同一个环境里反复用 conda 和 pip 覆盖同一个包,容易留下旧文件。解决方式是先分清工具:
# 看 conda 管理的包 conda list # 看 pip 管理的包,确认当前环境 python -m pip list需要干净环境时,直接删掉重建,比在旧环境里修依赖快:
# 删除环境前先退出该环境 conda deactivate conda remove -n tf113 --all -yconda remove -n tf113 --all会删掉整个环境,-y跳过确认。删之前确认没有项目正在用这个环境。我的习惯是环境名带项目或版本,比如tf113、cv-demo,不要用test、new这种名字,过两周自己都不知道里面装了什么。
6. 验证跑通:三段式自检和一条保命习惯
装完不要只看 PyCharm 能打开、代码不报红,那只能说明编辑器正常。真正要验证的是三件事:解释器路径对不对、包版本是不是你装的那个、最小功能能不能跑。我一般按下面三段式走一遍。
第一段,确认解释器路径:
# 在 PyCharm Terminal 或 Anaconda Prompt 里执行 python -c "import sys; print(sys.executable)"输出应该包含envs\tf113\python.exe。如果还是 base 或系统 Python,后面的验证都不用看,先回去改解释器。
第二段,确认包版本:
python -c "import cv2, tensorflow as tf, keras; print('cv2', cv2.__version__); print('tf', tf.__version__); print('keras', keras.__version__)"这条命令能一次导入三个库,版本号和你安装时写的一致才算过。TensorFlow 1.13.1 导入时可能带一些警告,比如未来版本弃用提示,只要不是ModuleNotFoundError或ImportError,可以先忽略。
第三段,跑最小功能脚本:
import sys import numpy as np import cv2 import tensorflow as tf import keras print("python:", sys.executable) print("cv2:", cv2.__version__) print("tensorflow:", tf.__version__) print("keras:", keras.__version__) # OpenCV 最小验证:生成一张黑图,转灰度 img = np.zeros((32, 32, 3), dtype=np.uint8) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) print("gray shape:", gray.shape) # TensorFlow 1.x 会话写法,确认图能跑 with tf.Session() as sess: result = sess.run(tf.add(tf.constant(1), tf.constant(2))) print("tf add:", result)这段脚本覆盖了 NumPy、OpenCV、TensorFlow、Keras 四个关键依赖。gray shape输出(32, 32),tf add输出3,说明环境基本跑通。如果tf.Session()报AttributeError,大概率是装成了 TensorFlow 2.x,回看安装时有没有写tensorflow==1.13.1。
| 检查项 | 命令 | 通过标准 |
|---|---|---|
| 解释器路径 | python -c "import sys; print(sys.executable)" | 路径含envs\tf113 |
| 包版本 | python -c "import cv2, tensorflow as tf, keras; ..." | 版本与安装时一致 |
| 最小功能 | 跑上面的 Python 脚本 | 输出gray shape和tf add: 3 |
从那以后我每次装完这套环境,都强制走一遍三段式,不看到路径和版本对得上,不打开项目写代码。重装 Anaconda 的时间够跑好几轮验证,留一份后悔药比事后拍大腿强。希望帮到你。
本文还有配套的精品资源,点击获取