【问题标题】:Running python/bash code in Rstudio在 Rstudio 中运行 python/bash 代码
【发布时间】:2016-03-19 17:19:17
【问题描述】:

我将 Rstudio 用于我的日常 R 内容。有时,我想对 R 不太擅长的部分使用一些 python/bash。奇怪的是,我注意到如果我开始一个新的 RMarkdown 文档,以下代码可以工作:

```{r engine='python'}
print "Hello" + "World"
import random
print random.random()
```

Rstudio 可以运行一些 python。这非常有用,但最好我不仅可以通过降价功能运行它,还可以通过控制台运行它。在release notes 中建议支持语法高亮。

我想知道,是否有任何方法可以将新控制台连接到 Rstudio,以便我们也可以从 IDE 执行一些 python/bash?看起来 Rstudio 似乎有一个如何连接到 python 的概念。最终目标是创建 .Rmd 文档并能够编辑/交互具有以下结构的文档:

# Use Case 

Connect to an api that is supported in python

```{r engine='python', highlight=TRUE}
data = foobar_api.get(1000)
file_loc = open("~/data/filename.csv", "w")
file_loc(data) 
file_loc.close()
```

Then analyse with R again. 

```{r}
df <- read.csv("~/data/filename.csv")
summary(df)
```

【问题讨论】:

    标签: python r bash rstudio


    【解决方案1】:

    首先您需要设置knitr 选项。

    ```{r}
    knitr::opts_chunk$set(engine.path = list(python = '/anaconda/bin/python'))
    ```
    

    从那时起,它就可以工作了。

    ```{python}
    import this 
    ```
    

    【讨论】:

      【解决方案2】:

      这是最好的 knitr 示例,它允许multiple language engines。您可能会考虑在 VIM 中针对这些情况编辑文件,因为您可以做一些与您所要求的内容接近的有趣事情:选择文本,然后键入:

      :'<,'>!python
      

      在python中执行和

      :<','>!R --no-save
      

      要在 R 中执行。有关详细信息,请参阅this question 的答案。

      上述并没有完全解决用例,因为选择的文本被命令的输出替换(在简单的 R 命令的情况下,从 R 版本等开始)。但是,可以使用this vimtip 将输出发送到不同的缓冲区(读取:窗口)。

      RStudio 中的 VIM 模式非常出色(它甚至支持可视块模式)。但它不能模拟一切,RStudio 中的:!python 将不起作用。我经常在 RStudio 和 VIM 中打开我正在处理的文档,以上可能是您对混合语言的 Rmd 文档执行相同操作的原因。

      【讨论】:

        【解决方案3】:

        如果您将Architect 或普通EclipseStatET 一起使用,您可以安装PyDev 插件并启动Python 控制台并与之交互,就像您使用R 控制台一样容易(并且,还有当然是对编辑和处理 .Rmd 文件的充分支持)

        【讨论】:

        • 是否来自同一个文件?
        猜你喜欢
        • 2018-12-01
        • 2018-02-16
        • 2021-02-15
        • 2015-10-29
        • 1970-01-01
        • 1970-01-01
        • 2020-06-18
        • 2014-01-03
        • 2014-07-14
        相关资源
        最近更新 更多