什么?你能在rstudio里写python?折腾reticulate 5分钟后,我逐渐了解了一切

I have a R, I have a python

如果说R语言对新人最友好的编译器那一定是rstudio,在python上嘛……不好说,我用过了pycharm,spyder和jupyter后。如果你是做软件开发或者大型项目的话,那么pycharm这种集成环境肯定是最好的。但如果你是跑脚本语言做科学计算,数据分析的话。恕在下直言,一个能打的都没有……Spyder有数据查看器但是不支持markdown语言,JupyterLab有markddown有各种插件,甚至还能写R。但是吧用起来总觉得是低配rstudio。
那么有没有Spyder和Jupyter的合体呢?说你呢!不要走开。吃我一发reticulate安利吧!

Boom! PRstudio-成年人就要全都要!

有了rstudio 1.4和reticulate 以上的种种似乎都不叫事了!
你只需要安装reticulate

install.packages('reticulate')
#或者
devtools::install_github("rstudio/reticulate") 

Bam,合体了!
注意,默认reticulate给你安装的是python 3.6.1
如果你像更换版本,可以在选项的python里更换。(前提是你有装别的版本)


image.png

一套新的操作逻辑

reticulate毕竟是R包,管理python的时候就需要一套R自己的逻辑。
首先查看R语言下python的设置命令变成了:

reticulate::py_config()

#python:         /Users/barnett/Library/r-miniconda/envs/r-reticulate/bin/python
#libpython:      /Users/barnett/Library/r-miniconda/envs/r-reticulate/lib/libpython3.6m.dylib
#pythonhome:     /Users/barnett/Library/r-miniconda/envs/r-reticulate:/Users/yangshao/Library/r-#miniconda/envs/r-reticulate
#version:        3.6.13 | packaged by conda-forge | (default, Feb 19 2021, 05:36:16)  [GCC Clang 11.0.1]
#numpy:          /Users/barnett/Library/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages/numpy
#numpy_version:  1.19.5
#keyword:        /Users/barnett/Library/r-miniconda/envs/r-reticulate/lib/python3.6

#NOTE: Python version was forced by use_python function

如果需要安装包怎么办!reticulate做了一套傻瓜化的操作:

#conda安装
reticulate::py_install('opencv-python')
#pip安装
reticulate::py_install('opencv-python', pip = True)

在R界面下如何调用python?

reticulate::repl_python()

如何退出python?

quit

坐下坐下,基操勿溜

既然叫PRstudio了,那肯定不止这点本事。这次reticulate彻底打通了R和python的隔阂。
这句话怎么理解?过去有写包或者模组教你在python里调用R函数或者在R里调用python模组。那些都太麻烦了 import也不好记忆。现在,你只要自己新建block的时候注明到底是R还是python就好了例如:


image.png

在同一个markdown文件下可以依次运行的。

还更厉害的么?

这次的markdown全面支持inline模式,也就是说你完全可以像Jupyter一样去使用。


image.png

如果你不习惯inline模式。只需要在选项里切换,秒变spyder!


image.png

现在在rstudio里,你能依次跑一个block(rstudio里叫chunk),也能像过去一样一行一行运行代码。
甚至还有一个数据查看器


image.png

还有么?

既然是全都要,那数据一定得是能互通的!如果我想把数据从R传入到python。


image.png

image.png

反过来也是可以的!



以后真就左手R右手python了真正意义上的合体了

目前存在的问题

虽然目前来说reticulate已经十分好用了,也还是存在些许问题。

  1. python的帮助文档做的不好:
    这点嘛。感觉python的开发文档更喜欢独立做一个网页。而R包的几乎都完全集成在包里了,方便随时查看。
  2. rstudio的自动补全对python支持的不好:
    相比于kite这种神级插件,rstudio的自动补全只能说能补,但不都能补全。这也跟R和python对函数/模组调用逻辑不同有关。
  3. macos下如果使用opencv2,图片打开了没法正常关闭(win10正常)。该问题在jupyter下也存在。当然解决方法无非是f.close(),cv2.destroyAllWindows() cv2.waitKey(1)这种。没什么好说的,知道就行……
  4. 运行速度是真不如jupyter快,rstudio跑python总是要犹豫一下再跑的感觉。
  5. rstudio的文件管理系统做的再丰富点就更好了。
  6. rstudio在python下生成的图片似乎不能实时刷新,如果像R里那样就更棒了。

最后

已经试过python爬虫(requests, bs4, lxml),图像处理(opencv, plantCV),数据处理(numpy, pandas)甚至神经网络(detectron2)。没遇到不顺手的问题。甚至可以用python爬虫后再用r处理数据。python对文字处理还有正则运用确实要比r强不少的。如果你用python开发大型项目,首选pycharm。如果你跑python脚本或者用python处理数据,又恰好很习惯rstudio的逻辑。那么别折腾别的编译器了,用rstudio一点都不痛苦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容