首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >为什么我从 Jupyter 换到了这个工具

为什么我从 Jupyter 换到了这个工具

作者头像
用户11081884
发布2026-07-20 20:27:45
发布2026-07-20 20:27:45
310
举报

先说清楚,我不是说 Jupyter 不好。

Jupyter 是我入门 Python 用的第一个工具,曾经以为会一直用它。直到有一天,在 Jupyter 里写一个 800 行的数据处理脚本,debug 调到凌晨两点,第二天打开从头跑,发现昨晚写的逻辑自己完全看不懂了。

不是因为代码差,是因为 Jupyter 的交互模式天然不适合做长线项目。

那之后开始找替代品,试了一圈,最后留在了 Cursor 上。今天说说我为什么换了,以及 Cursor 具体解决了我什么问题。


Jupyter 的三个真实痛点

痛点1:代码一长就成了灾难

Jupyter 的 Cell 机制在探索阶段很爽,但代码超过 200 行就开始出问题:

  • 变量在哪个 Cell 定义的,忘了
  • Cell 执行顺序不同结果不同,debug 半天发现是顺序问题
  • 想复用某个函数,得把 Cell 里的代码复制粘贴,改了之后不知道该在哪个 Cell 执行
  • 重启内核之后变量全没了,之前的结果白算了

做过最蠢的事:在 Jupyter 里写了 3 个小时的分析脚本,保存后第二天打开,内核重启,变量全空,从头跑。结果这次跑出来的结果跟昨天不一样,查了两小时才发现是某个 Cell 的数据没刷新。

痛点2:调试全靠 print

代码语言:javascript
复制
# Jupyter 里的 debug 方式
print("进来了")
print(f"x={x}")
print(f"y={y}")
print("到这里了")
# 删着删着把有用的也删了

想打断点?Jupyter 不支持。想看某个时刻的变量值?print。想看调用栈?没有。

写过正经项目的人都知道,print debug 在小脚本里够用,500 行以上就是自虐。

痛点3:版本控制噩梦

.ipynb 文件本质上是 JSON,里面包含代码、元数据、输出结果。每次 Git diff 看到的都是乱码,根本没法做 Code Review。

nbdime 或者 nbconvert 可以在一定程度上缓解,但治标不治本。


Cursor 是什么

简单说:Cursor 是基于 VS Code 的 AI 编程工具,拿来写 Python 比 VS Code 更顺手

核心特点:

  • 内置 AI 编程助手(能理解整个代码库)
  • 原生支持 Python + Jupyter 混合模式
  • 完整 IDE 功能:断点调试、Git 集成、终端
  • .ipynb 文件直接打开编辑,不用额外配置
  • 免费版够用,Pro 版体验更好

下载地址:cursor.com


迁移后解决了什么问题

问题1:长脚本终于能看了

在 Cursor 里,Python 脚本就是一个 .py 文件,不是 Cell 的堆叠。函数在哪就写在哪,IDE 侧边栏能看到整个文件的结构。

代码语言:javascript
复制
# 左侧有 Outline,所有函数/类一目了然
# 光标悬停在函数上,可以看到定义,不需要到处跳转

defload_data(path: str) ->pd.DataFrame:
    returnpd.read_csv(path)

defclean_data(df: pd.DataFrame) ->pd.DataFrame:
    df = df.dropna(subset=["date"])
    df["date"] = pd.to_datetime(df["date"])
    returndf

defmain():
    df = load_data("sales.csv")
    df = clean_data(df)
    print(f"处理完成,共{len(df)}条记录")

if__name__ == "__main__":
    main()

Jupyter 里这段得拆成 4 个 Cell,还得分清楚执行顺序。Cursor 里就是普通的 Python 文件,符合直觉。

问题2:AI 帮你读自己的代码

Cursor 的 @Codebase 功能可以问它任何关于代码的问题:

  • “解释一下 clean_data 函数做了什么”
  • “这个函数里有潜在的空值问题吗”
  • “这个变量是什么类型”

接别人代码或者重读自己旧代码时特别有用。Jupyter 里完全没有这个能力。

问题3:断点调试有了

代码语言:javascript
复制
defcalculate_revenue(quantity, price, discount=0):
    subtotal = quantity*price  # 断点打这里
    revenue = subtotal* (1-discount)
    returnrevenue

点一下鼠标,断点触发,能看到所有变量的实时值、调用栈、单步执行。Jupyter 里这不可想象。

问题4:Jupyter 文件直接打开

Cursor 做得最聪明的地方——.ipynb 文件可以直接打开和编辑,不用任何额外配置。

原来在 Jupyter 里的笔记本,直接用 Cursor 打开,.py 和 .ipynb 混合用完全没问题。迁移成本几乎为零。


迁移成本有多高

说实话,不高

维度

Jupyter

Cursor

学习成本

低(VS Code 用户零成本)

安装

pip install jupyter

下载安装包,打开即用

Jupyter 支持

原生

.ipynb 直接打开

AI 辅助

需额外装插件

内置,效果不错

断点调试

不支持

支持

长脚本维护

困难

正常

Git 协作

正常

最大的障碍是习惯。用 Jupyter 用了三年,刚转到 Cursor 头两天浑身不习惯。后来把项目拆成 .py 文件,用 Cursor 打开,一个下午就回不去了。


我的实际工作流

现在是这样用的:

Cursor 为主,Jupyter 为辅。

  • 写业务逻辑、函数封装、项目代码 → Cursor 的 .py 文件
  • 临时探索、数据探索、画图验证 → 在 Cursor 里新建 .ipynb
  • 调试复杂逻辑 → Cursor 断点调试,不 print 了
  • 遇到不熟悉的库、API → Cursor AI 问答,比 Google 快

给想迁移的人几点建议

不要一口气全部迁移。先把新项目放 Cursor 里跑,老项目留在 Jupyter,两边并行一段时间,感觉稳定了再全面切。

熟悉快捷键。VS Code 系的快捷键(Cmd+P 文件跳转,Cmd+Shift+P 命令面板,Cmd+B 侧边栏)用熟之后效率提升很明显。

AI 功能要主动用。Cmd+L 打开对话窗口,可以问任何关于代码的问题。我现在遇到不确定的逻辑,第一反应是问 Cursor,不 Google 了。

插件市场用起来。Cursor 基于 VS Code,所有 VS Code 插件都能装。Python 插件、Pylance、GitLens 都装上,体验更完整。


最后

我不是要说 Jupyter 不好,它在教学和探索阶段仍然是最好的工具之一。但如果你的代码开始超过 200 行,开始做需要长期维护的项目,Jupyter 的局限性就开始显现了。

Cursor 不是银弹,但它解决了 Jupyter 最痛的三个问题:长代码维护、断点调试、AI 辅助。如果这些痛你也感同身受,值得试试。

你们现在用的是哪个编辑器?评论区说说,我看看大家的选择。

“无他,惟手熟尔”!有需要的用起来!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jupyter 的三个真实痛点
    • 痛点1:代码一长就成了灾难
    • 痛点2:调试全靠 print
    • 痛点3:版本控制噩梦
  • Cursor 是什么
  • 迁移后解决了什么问题
    • 问题1:长脚本终于能看了
    • 问题2:AI 帮你读自己的代码
    • 问题3:断点调试有了
    • 问题4:Jupyter 文件直接打开
  • 迁移成本有多高
  • 我的实际工作流
  • 给想迁移的人几点建议
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档