是否有类似RStudio for Python的东西?[关闭]


172

在RStudio中,可以在代码编辑窗口中运行部分代码,结果将显示在控制台中。

您还可以做一些很酷的事情,例如选择是运行光标之前的所有内容,还是光标之后的所有内容,还是只是选择的部分,等等。所有这些东西都有热键。

这就像Python交互式外壳之上的一个步骤-您可以在其中使用readline返回上一行,但是它没有任何关于功能是什么,代码段等的“概念”。

是否有类似Python的工具?或者,您是否有某种类似的解决方法,例如在vim中使用?

python  ide 

除了在RStudio中,还支持.Rnw文件,我发现该文件对于创建自动pdf文件特别有用。我仍在寻找一个好的Python IDE。
摩尔多瓦2013年

1
您会看到Rstudio中的变量详细信息,最重要的是帮助文件
Ankit

18
Eclipse PyDev,Jupyter和Spyder / Anaconda是不错的替代品,但是它们都不比RStudio易于使用。代码完成,切换区域的快捷方式,软件包的交互式安装,带有重新定位订单的选项卡,文档窗格,所有这些都使RStudio易于使用。Python作为一种语言具有一些巨大的优势,但是恕我直言,没有Python IDE在RStudio的水平上。

2
我开始使用Rodeo,但是它非常容易出错。没有什么比RStudio更好的了。在以数据分析和探索为主要目标的适当的IDE之前,Python始终会在数据分析和探索方面具有这一弱点。
–codingknob

1
RStudio现在支持Python:blog.rstudio.com/2018/10/09/...
奥利弗奥利弗

Answers:


51

IPython Notebooks很棒。我最近发现了另一个基于浏览器的更新工具:Rodeo。我的印象是,它似乎可以更好地支持类似RStudio的工作流程。

Rodeo屏幕截图


1
很棒的发现!IMO RStudio是用于数据分析的最佳UI,始终在寻找与python类似的东西。
visitantz

4
Yhat 在2016年针对Windows,Mac和Linux 发布了Rodeo 2.0(本机应用程序不是浏览器工具)。它比以前稳定得多,并且具有语法突出显示和集成教程等许多新功能。如果您喜欢RStudio,绝对值得一试!
Elise Breda

8
我在2017年初的印象是Rodeo仍然感觉像是一个非常新的项目,在功能或UI自定义方面无法与RStudio相比。而且似乎有很多问题。我相信Spyder更加成熟,并且接近成为真正的RStudio替代品,但YMMV。
Jealie '17

广告“本机应用程序不是浏览器工具”:从我可以看到Rodeo 2.0使用Electron。它仍然是一个浏览器工具,只是现在它带有自己的浏览器,使其看起来像其本机应用程序。(还值得一提的是,它依赖于NodeJS。)
Phillip

1
提供的链接似乎已过期(2019-03)我发现此线程通常说明了Rodeo的问题:github.com/yhat/rodeo/issues/655
Qaswed

32

Jupyter Notebook(以前称为IPython Notebook)是一个非常酷的项目,用于使用Python(和其他语言,包括R)进行交互式数据操作。基本上,它允许您在一个界面中交互地编码和记录正在执行的操作,然后将其另存为:

  • 笔记本(.ipynb
  • 脚本(仅包含源代码的.py文件)
  • 静态html(因此也是pdf)

您甚至可以使用nbviewer服务与他人在线共享您的笔记本,该服务使人们可以出版整本书。此外,GitHub 呈现您的.ipynb文件。您可以将Jupyter笔记本作为可复制的研究文章发表在Authorea上。要由多个用户进行协作编辑,请查看基于Jupyter构建的Google Colab。

Jupyter Notebook屏幕截图

Jupyter Notebook的默认版本在本地启动Web应用程序(或将其部署到服务器),然后从浏览器中使用它。正如Ryan在回答中提到的那样,Rodeo是一个与基于Jupyter内核构建的RStudio更相似的界面。

JupyterLab是UI的较新版本,它为您编辑笔记本,控制交互式小部件甚至在终端仿真器中运行命令提供了更大的灵活性。

还有一个用于IPythonQt控制台,这是一个带有嵌入式绘图的类似项目,它是一个桌面应用程序。

Jupyter是一个普通的Python软件包,可以使用安装pip install jupyter。但是,要使所有科学图书馆都在您的计算机上运行,​​尝试使用官方的Jupyter Docker容器可能会更容易。例如,假设您的笔记本在〜/ code / jupyter中,则可以按以下方式运行容器:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook

但是,有一个非常重要的区别:在运行RStudio Web服务器的计算机上拥有帐户的人可以登录到该服务器并以“分时”的方式在同一端口上使用它。IPython 2.x不支持此功能:如果要让2个人在同一服务器上访问它,则必须在2个不同的端口上运行2个服务器实例,这很难轻易扩展。
Laryx Decidua

对,那是正确的。但是,IPython 3.x的初始工作已经完成,以支持多用户笔记本。
metakermit

1
另一个主要区别是“笔记本”的(IMHO)荒谬格式。在RStudio中,您可以打开一个脚本,将其传递给解释器,然后与解释器进行交互。脚本在一侧,解释器在另一侧。由于IPython具有自己的格式,因此您不能简单地打开脚本,如果在笔记本中进行编辑,则该脚本将具有不同的格式。
迈克尔(Michael

您可以逐字导入脚本作为模块,然后修改其在笔记本中定义的任何变量或函数。相反,您可以将IPython笔记本直接导出为.py文件。当然,这不是一个IDE。
metakermit

1
@ kermit666 JupyterHub(github.com/jupyter/jupyterhub)是我目前用于可通过Web访问的多用户笔记本的解决方案。效果很好。推荐的。
Laryx Decidua 2015年

31

spyder或安装python(x,y)。这太棒了。

如果您不熟悉Python,则可以安装免费的Anaconda发行版(http://continuum.io/downloads.html),它将为您安装Spyder以及Python 2.7和IPython。Spyder与RStudio非常相似。


5
我一直在寻找像R那样的工作流,它带有用于python的文本编辑器,而且spyder似乎可以做到。我有一个文本编辑器窗口和一个python窗口。我在文本编辑器中突出显示了几行,然后按F9键,它们在解释器中运行。很简单,但正是我想要的。
kpierce8

Spyder非常适合作为RStudio的本地替代品(尽管它缺少对服务器版本的便捷远程浏览器访问)。
迈克尔


22

您可能需要研究JupyterLab(下一代Jupyter Notbooks):https : //github.com/jupyter/jupyterlab

JupyterLab旨在在Web上创建更类似于桌面的体验。

更新:截至2018年3月,JupyterLab处于beta版。“该Beta版本适合一般使用。对于JupyterLab扩展开发人员而言,扩展API将会继续发展,直到1.0版本。最终,JupyterLab将在JupyterLab达到1.0后替换经典的Jupyter Notebook。

要将Jupyter Lab作为桌面应用程序运行,请参阅 christopherroach.com/articles/jupyterlab-desktop-app(感谢PatrickT)。

快速预览:

在此处输入图片说明

您可以在监视系统的终端上方的图形控制台旁边放置一个笔记本,同时将文件管理器保持在左侧:

在此处输入图片说明

有关更多详细信息,请参见:https : //blog.jupyter.org/2016/07/14/jupyter-lab-alpha/以及此处:http : //www.techatbloomberg.com/blog/inside-the-collaboration-that-内置了开源jupyterlab-project /


1
看起来不错。这会在您的浏览器中打开(很明显您没有提到它)。我觉得这很烦人。如果要使用它,我将设置专用的浏览器。是否有推荐的jupyterlab浏览器?
PatrickT

1
感谢您的链接!我将其添加到描述中。
majom

14

Pycharm是一个非常不错的IDE。从目前为止我所看到的,它与Rstudio最相似。另一个不错的功能是,它允许您以类似于Rstudio的方式安装新的Python库(否则可能是一场噩梦)。现在有一个免费的“社区”版。

在此处输入图片说明


我可能会补充说它支持jupyter / ipython文件,因此您可以将其与最佳答案结合使用。(不确定这是否是免费版本的一部分)。
2016年

PyCharm还可以让您运行一系列代码!
4d11



0

对于更好的Python交互式外壳,请查看DreamPie。它不是真正的IDE(就像RStudio一样?)


0

Wing IDE,以及其他Python IDE(例如PyCharm和PyDev)也具有类似的功能。在Wing中,您可以在集成的Python Shell中选择并执行代码,或者如果要调试某些内容,则可以与Shell中暂停的调试程序进行交互(称为“调试探针”)。万一您正在使用matplotlib,它还提供了特殊支持,因此您可以交互使用绘图。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.