pycharm community版不支持jupyter notebook,仅professional版内置完整集成,需正确配置python解释器、安装ipykernel、选择合适matplotlib后端方可正常运行.ipynb文件。

Jupyter Notebook 在 PyCharm 里不是“装个插件就能直接跑”,而是取决于你用的是哪个版本、有没有装对环境、以及 PyCharm 是 Community 还是 Professional 版 —— 这三点直接决定你能不能点开 .ipynb 文件就执行。
PyCharm Professional 是前提,Community 版基本不支持
PyCharm Community(免费版)**完全不提供内置的 Jupyter 支持**:没有 .ipynb 图标识别、不能启动内核、不显示输出区域、也不支持调试单元格。即使你手动安装了 jupyter 包,打开 .ipynb 文件也只会当纯文本或 JSON 显示。
只有 PyCharm Professional(专业版)才自带完整集成,包括:
-
Ctrl+Enter运行单个单元格 - 变量内联预览(开启
显示内联值后,变量旁直接显示 shape / head) - 专用 Jupyter 调试器(可设断点、步进、查看
Variables窗口) - 支持本地/远程内核切换(
Settings > Languages & Frameworks > Jupyter)
如果你用的是 Community 版,别折腾配置 —— 换成 Professional(有 30 天免费试用),或者改用 VS Code + Jupyter 扩展更实际。
PyCharm 启动 Jupyter 时卡在 token 输入界面?这是正常现象
PyCharm 第一次运行 .ipynb 文件时,会尝试连接本地 Jupyter 服务。如果它没找到已运行的服务器,就会弹出对话框让你填 URL 和 token —— 这不是报错,是它在等你“指路”。
常见应对方式:
- 先在终端手动启动:
jupyter notebook --no-browser --port=8888,然后复制控制台里类似http://localhost:8888/?token=abc123...的完整链接,粘贴进 PyCharm 对话框 - 如果只想让 PyCharm 自己管服务,取消勾选
Use external server,点Run Jupyter Notebook—— 它会自动调用你当前 Python 解释器里的jupyter命令启动服务(前提是该解释器已安装jupyter和ipykernel) - token 每次重启服务都会变,所以不要记、不要存;用
jupyter notebook list可查当前活跃服务的 URL 和 token
注意:PyCharm 不会自动帮你生成密码或配置 jupyter_notebook_config.py,它只消费已有服务。
Python 解释器里缺 ipykernel,单元格执行会静默失败
即使你 jupyter notebook 能跑通,PyCharm 仍可能报 Kernel died, restarting 或根本没输出 —— 最大概率是当前项目解释器里没装 ipykernel。
验证和修复步骤:
- 打开
Settings > Project > Python Interpreter - 检查列表里是否有
ipykernel(不是jupyter,后者只是命令行入口) - 如果没有,点击
+安装:ipykernel(必须装,且版本要匹配你的 Python 版本,比如 Python 3.10 用ipykernel>=6.0) - 装完后重启 PyCharm,再新建一个
.ipynb文件测试
Conda 用户额外注意:如果你用 conda 创建的虚拟环境(如 conda create -n myenv python=3.10),得先激活该环境再运行:conda activate myenv && pip install ipykernel,否则 PyCharm 读不到 kernel。
图像不显示、plt.show() 没反应?默认后端不兼容
在 PyCharm 的 Jupyter 集成里,matplotlib 默认用的是 agg 后端(无 GUI),所以 plt.show() 不弹窗,display(fig) 也可能空白。
解决方法(任选其一):
- 在 notebook 开头加魔法命令:
%matplotlib inline(静态嵌入)或%matplotlib widget(交互式,需装ipympl) - 或者统一用
plt.savefig("out.png")+from IPython.display import Image; display(Image("out.png")) - 不推荐改全局 backend,因为 PyCharm 的渲染逻辑依赖于内联输出协议
另一个坑:如果你在单元格里写了 %%capture 却忘了删,所有 print / plot 都会被吞掉,输出区域空空如也 —— 检查单元格开头有没有这行。
真正麻烦的从来不是“怎么连上”,而是连上之后 kernel 状态不稳定、变量作用域不一致、图像后端错配——这些细节不提前踩一遍,调试时根本看不出哪环断了。











