Home Comments Thread
New Thread

3 Comments

giscus-bot giscus-bot 2022-12-17 04:30:39
访客 *TC Zhang* @ 2018-09-26 04:56:49 写道:

那篇Present Your Data Science Results in a Jupyter Notebook, the Right Way已经顶不住压力偷偷把标题改了哈哈哈

giscus-bot giscus-bot 2022-12-17 04:30:40
访客 *囧尼* @ 2018-09-26 11:15:56 写道:

看到因你的压力而改的日志标题,我忍不住给你点个赞

yihui yihui 2022-12-17 04:30:41

这个得澄清一下,作者不是因为来自我的压力而更改的标题(去掉了 the Right Way),而是来自 Joel Grus 演讲的压力。我在 Joel Grus 的基础上进一步吐槽,我认为即使去掉了 the Right Way 也是一个很不负责的标题,参见我英文日志中 The First Notebook War 一文的脚注 4。

——原帖发布于 2018-09-26 14:25:43

giscus-bot giscus-bot 2022-12-17 04:30:40
访客 *gepcel* @ 2018-09-28 03:13:14 写道:

这篇贴子可能刚出来时就看过了,但是刚刚才发现那个 python 的例子说的居然是 jupytext,这两天也刚注意到它,包的功能好不好用以及应用场景另说,这个作者至少让人感觉是认真的在做,认真的介绍,认真的地在写文档,认真地在和 jupyte notebookspyderhydrogen等等沟通,认真地在期待更多的人提提意见,也认真地在听取意见和改进功能。有一点 python 可能跟 R 不太一样,R 还有个 CRAN 的机制,有那么多优秀的包,而在python上,有无数的脚本散落在github上,不再更新。那些作者可能是一时心血来潮,后又无意继续;也或许是自己一时需求,后来够用就好。相比而言,这个 jupytext 算是个很不错的开头吧,把话题引申到作者的第一个有影响的项目,引申到器量上面,似有不妥。

至于重复造轮子,以及 jupyter notebook。作为一个不会 R,却又保持关注你的博客好多年的人(很奇怪不)。早些年时常纠结为什么当初选择了python,而不是R;羡慕 R 的好多功能(或者包),想转向 R,又时常留念 python 的一些功能;又自觉似乎没有更多精力再认真地学一下 R…… 这些年可能不那么纠结了,但在某些应用需求下,仍然还是羡慕某些R的包。那篇The First Notebook War 也看了(几乎一字不漏,好长啊),就我而言,我还是乐意见到大家互相(R、Python,或者其它)或借鉴或模仿地实现一些功能的,如果非常喜欢用jupyter notebook(比如我,War里面引用的那哥们说的那些 notebook 的痛点,多数都没感觉到),毕竟不能 knitr::spin(Untitled.ipynb) 不是?

yihui yihui 2022-12-17 04:30:42

是的,我上面说了 jupytext “并不是一个糟糕的例子”、“明晃晃求赞也可以理解”。关于“第一个有影响的项目”,这是作者自己在那篇日志里说的,我只是引用,应该不算引申。至于器量,这是我的引申,但我的意思只是说,他做了一个漂亮的项目,大家反响都很好,那么就没有必要画蛇添足去求赞了。而他为什么要特意求赞呢?我的猜测是因为这是他的“第一个有影响的项目”,所以他有些迫不及待创造巨大的影响力,这是可以理解的,也是早年我自己会干的事情(我不会直接求赞,但我会特意宣传)。这里所谓器量,就是把精力放在做好产品上,不要过多关注那些虚名,虚名只是“好产品”加上“岁月”的副产品。这一点对于新新码农来说需要更多的时间来感受。希望这次我解释清楚我的逻辑了。我这篇日志里提到了三个人:jupytext 的作者、那篇 the Right Way 日志的作者、以及 R 社区里的一个独孤求赞,我并没有批判第一个人的意思,我真正批判的是后两人。

关于工具,是的,自己觉得好用就好,别人的痛点未必是自己的痛点,也许别人觉得是天大的事,在自己这里根本不算事(比如 Joel Grus 的首要抱怨对我而言就不算个事儿)。Jupyter 继承了 Wolfram 当年在 Mathematica 的意志,knitr 继承的是 Knuth 文学化编程的意志,这是导致它们今天的区别的核心原因,至于哪个更符合用户的口味,大家各有不同,这是很正常的。

——原帖发布于 2018-09-28 15:18:55

yihui yihui 2022-12-17 04:30:43

我刚意识到,其实 knitr::knit(Untitled.ipynb) 未必不可以啊,就是解析一个 JSON 文件跑一下里面的代码而已嘛。过段时间我琢磨一下。

——原帖发布于 2018-09-28 22:16:08

giscus-bot giscus-bot 2022-12-17 04:30:44
访客 *gepcel* @ 2018-09-29 00:04:05 写道:

仔细想来,knitr(a.ipynb) 确实会是个不错的主意。不过:

1、 jupyter notebook 里面支持的 python 或者 R 语言都是通过不同的 kernel 来运行的,knitr 所我所知,可以支持 python,由于 knitr 后是所有代码都要运行一遍的吧,不知这两者会不会有不同;
2、 knitr 里面貌似是有非常多的选项,来控制语言的运行、结果的输出之类,jupyter notebook 里面没有。这样的话,jupyter -> md 是问题不大的,没有选项相当于全部用默认选项,但是如何在 knitr(*.ipynb) 中享受到 knitr 的丰富选项需要个办法(jupyter 中的 cell 有 metadata ,不过用起来不是很方便)
3、目前貌似可以:jupytext Untitled.ipynb --to rmarkdown,我也没试过,如果这一步没问题,可以将 knitr 和 jupytext 两个命令打包在一起?

老兄一向是有不错的产品思路的,如果真的能实现就太棒了(说实话,jupytext 并没有感觉瞄准和解决了真切的痛点)。

yihui yihui 2022-12-17 04:30:45

现在可以参见 rmarkdown:::convert_ipynb 函数(文档写了,但这个函数没有导出,所以需要三冒号)。

——原帖发布于 2020-08-23 04:11:16

Sign in to join the discussion

Sign in with GitHub