markdown中图片路径必须以.ipynb所在目录为根的相对路径,用正斜杠;image()支持相对/绝对路径及宽高控制;%%html需严格语法;拖拽生成attachment形式,导出可能失效。

能插,但路径和模式必须匹配,否则图片显示为破损图标或空白——这不是语法错,而是文件系统可见性问题。
Markdown 单元格里用  时路径怎么写
只认相对路径,且以当前 .ipynb 文件所在目录为根。比如 notebook 在 /project/report.ipynb,图片在 /project/images/cat.jpg,就得写 。
- Windows 和 macOS/Linux 都用正斜杠
/,别用反斜杠\ - 不能写成
./images/cat.jpg或../data/cat.jpg——.和..在部分 Jupyter 环境(尤其是旧版或远程服务器)下不生效 - 路径里有空格或中文?会失败。建议重命名为
cat_v1.jpg这类纯英文+下划线格式 - 不支持绝对路径,像
C:/users/xxx/cat.jpg或/home/xxx/cat.jpg一律无效
代码单元格调用 Image() 的路径和参数细节
这是最灵活的方式,支持相对路径、绝对路径,还能控制宽高、居中、缩放。
- 导入必须写全:
from IPython.display import Image - 路径可带扩展名,
filename参数必须指定:Image(filename="images/cat.jpg", width=300) - 如果用
url参数,则传网络地址:Image(url="https://example.com/cat.jpg") -
width和height单位是像素;若只设一个,另一个等比缩放;设width="50%"会按容器宽度比例渲染 - 注意:Jupyter Lab 有时对绝对路径更宽容,但 Jupyter Notebook(经典版)强烈建议统一用相对路径
%%html 插入图片时常见错误
这个魔法命令本质是把内容当 HTML 渲染,但参数语法容易出错。
- 必须写在代码单元格第一行,且独占一行:
%%html,后面紧跟<img>标签 - 属性之间用空格分隔,不是逗号:
<img src="cat.jpg" style="max-width:90%" style="max-width:90%">✅,<img src="cat.jpg" style="max-width:90%">❌ -
src同样只接受相对路径,且不能含查询参数(如cat.jpg?ts=1) - 如果图片没显示,右键检查元素 → 看浏览器控制台是否报
404,这说明路径不对,而不是 HTML 写错了
拖拽图片进 Markdown 单元格后为啥不显示
拖进去后生成的是  这种形式,它依赖附件机制,不是文件系统路径。
- 该图片已编码为 base64 存进
.ipynb文件内部,所以移动 notebook 文件时图片不会丢失 - 但导出为 HTML 或 PDF 时,可能因 base64 解码失败导致图片消失;导出前建议先用
Image(filename=...)替换掉 attachment 形式 - 如果拖完没反应,确认单元格确实是 Markdown 模式(左上角显示 “Markdown”),不是 Code 模式
- 粘贴截图(Ctrl+V)在新版 Jupyter Lab 中默认走 attachment 路径,但在经典 Notebook 中可能直接失败,优先用拖拽
真正卡住人的往往不是语法,而是 notebook 当前工作目录和图片实际位置之间的“看不见的偏差”。运行 !pwd(Linux/macOS)或 !cd(Windows)看看当前路径,再对照文件浏览器确认图片在哪一级,比反复试路径更省时间。











