¿Hay algo como RStudio para Python? [cerrado]

172

En RStudio, puede ejecutar partes de código en la ventana de edición de código, y los resultados aparecen en la consola.

También puede hacer cosas geniales, como seleccionar si desea que se ejecute todo hasta el cursor, o todo después del cursor, o solo la parte que seleccionó, y así sucesivamente. Y hay teclas de acceso rápido para todas esas cosas.

Es como un paso por encima del shell interactivo en Python: allí puede usar readline para volver a las líneas individuales anteriores, pero no tiene ningún "concepto" de qué es una función, una sección de código, etc.

¿Existe una herramienta como esa para Python? O, ¿tiene algún tipo de solución similar que usa, por ejemplo, en vim?


fuente
además en RStudio hay soporte para archivos .Rnw que encuentro particularmente útil para crear archivos pdf automatizados. Todavía estoy buscando un buen IDE de Python.
Moldovean
1
Puede ver los detalles de las variables y, lo más importante, el archivo de ayuda dentro del Rstudio
Ankit
18
Eclipse PyDev, Jupyter y Spyder / Anaconda son sustitutos decentes , pero ninguno de ellos es tan fácil de trabajar como RStudio. La finalización del código, los accesos directos para cambiar de área, la instalación interactiva de paquetes, las pestañas con el reposicionamiento del pedido, el panel de documentación, hacen que RStudio sea más fácil de usar. Python tiene algunas grandes ventajas como lenguaje, pero en mi humilde opinión, ningún IDE de Python está en el nivel de RStudio.
2
Empecé a usar Rodeo, sin embargo, es muy defectuoso. Nada se compara con RStudio. Python siempre tendrá esa debilidad para el análisis y la exploración de datos hasta que se realice un IDE adecuado con el análisis y la exploración de datos como objetivo principal.
codingknob
1
RStudio ahora es compatible con Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Respuestas:

51

Los cuadernos IPython son increíbles. Aquí hay otra herramienta más nueva basada en navegador que he descubierto recientemente: Rodeo . Mi impresión es que parece admitir mejor un flujo de trabajo similar a RStudio.

Captura de pantalla de Rodeo

Ryan
fuente
1
Gran descubrimiento! IMO RStudio es la mejor interfaz de usuario para el análisis de datos, siempre buscando algo similar para python.
visitantz
44
Yhat lanzó Rodeo 2.0 (aplicación nativa no una herramienta de navegador) para Windows, Mac y Linux en 2016. Es mucho más estable de lo que era y tiene muchas características nuevas como resaltado de sintaxis y tutoriales integrados. ¡Definitivamente vale la pena echarle un vistazo si te gusta RStudio!
Elise Breda
8
Mi impresión a principios de 2017 es que Rodeo todavía se siente como un proyecto muy nuevo y no se puede comparar con RStudio en términos de características o personalizaciones de la interfaz de usuario. Y parece bastante defectuoso. Creo que Spyder es mucho más maduro y cercano a ser una verdadera alternativa de RStudio, pero YMMV.
Jealie
Anuncio "aplicación nativa no es una herramienta de navegador": por lo que puedo ver, Rodeo 2.0 usa Electron . Todavía es una herramienta de navegador, solo que ahora viene con su propio navegador para que parezca una aplicación nativa. (También vale la pena mencionar que viene con una dependencia de NodeJS.)
Phillip
1
El enlace proporcionado parece actualmente (2019-03) desactualizado. Encontré este hilo que indica problemas con Rodeo en general: github.com/yhat/rodeo/issues/655
Qaswed
32

Jupyter Notebook (anteriormente conocido como IPython notebook ) es un proyecto realmente genial para la manipulación interactiva de datos en Python (y otros lenguajes, incluido R). Básicamente le permite codificar y documentar interactivamente lo que está haciendo en una interfaz y luego guardarlo como:

  • cuaderno ( .ipynb )
  • script (un archivo .py que incluye solo el código fuente)
  • html estático (y, por lo tanto, también pdf)

Incluso puede compartir sus cuadernos en línea con otros utilizando el servicio nbviewer , donde las personas publican libros completos . Además, GitHub procesa sus archivos .ipynb . Puede publicar sus cuadernos Jupyter como artículos de investigación reproducibles en Authorea . Para la edición colaborativa de múltiples usuarios, consulte Google Colab creado sobre Jupyter.

Captura de pantalla de Jupyter Notebook

La versión predeterminada de Jupyter Notebook inicia una aplicación web localmente (o la implementa en un servidor) y la usa desde su navegador. Como Ryan también mencionó en su respuesta , Rodeo es una interfaz más similar a RStudio construida sobre el núcleo de Jupyter.

JupyterLab es una versión más reciente de la interfaz de usuario que permite una mayor flexibilidad en la forma de editar sus portátiles, controlar widgets interactivos e incluso ejecutar comandos en emuladores de terminal.

También hay un consola Qt para IPython , un proyecto similar con parcelas en línea, que es una aplicación de escritorio.

Jupyter es un paquete normal de Python y se puede instalar usando pip install jupyter. Sin embargo, para que todas las bibliotecas científicas se ejecuten en su computadora, podría ser más fácil probar los contenedores oficiales de Jupyter Docker . Por ejemplo, suponiendo que sus computadoras portátiles estén en ~ / code / jupyter , puede ejecutar el contenedor como:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
metakermit
fuente
Sin embargo, existe una diferencia muy importante: las personas que tienen cuentas en la máquina en la que se está ejecutando el servidor web RStudio, pueden iniciar sesión en el servidor y usarlo de manera "compartida" en el mismo puerto. IPython 2.x no es compatible con esto: si desea que 2 personas accedan a él en el mismo servidor, debe ejecutar 2 instancias de servidor en 2 puertos diferentes que no se escalan fácilmente.
Laryx Decidua
Si eso es correcto. Sin embargo, el trabajo inicial en IPython 3.x se realiza para admitir portátiles multiusuario.
metakermit
1
Otra diferencia clave es el formato ridículo (en mi humilde opinión) del "cuaderno". En RStudio puede abrir un script, pasarlo al intérprete y luego interactuar con el intérprete. El guión está de un lado, el intérprete del otro. Debido a que IPython tiene su propio formato, no puede simplemente abrir una secuencia de comandos, que si se edita en un cuaderno tiene un formato diferente.
Michael
Puede importar una secuencia de comandos literalmente como un módulo y jugar con cualquier variable o función que defina dentro del cuaderno. En la dirección opuesta, puede exportar un cuaderno de IPython como un archivo .py directamente. Sin embargo, no es un IDE seguro.
metakermit
1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) es la solución que estoy usando actualmente para portátiles de múltiples usuarios accesibles en la Web. Funciona muy bien Recomendado.
Laryx Decidua
31

spyder o instalar python (x, y). Eso es genial.

Si es nuevo en Python, puede instalar la distribución gratuita de Anaconda ( http://continuum.io/downloads.html ), que instalará Spyder para usted, así como Python 2.7 e IPython. Spyder es muy similar a RStudio.

eco
fuente
55
He estado buscando un flujo de trabajo como R con un editor de texto para python durante bastante tiempo y parece que Spyder lo hace. Tengo una ventana de editor de texto y una ventana de Python. Destaco algunas líneas en el editor de texto y presiono F9 y se ejecutan en el intérprete. Simple, pero exactamente lo que estaba buscando.
kpierce8
Spyder es excelente como equivalente local de RStudio (aunque carece del fácil acceso remoto al navegador de la versión del servidor).
Michael
22

Echa un vistazo a Rodeo de Yhat si estás buscando algo como RStudio para Python.

Rodeo tiene:

  • editor de texto (usa Atom debajo del capó)
  • Modo Vim / Emacs
  • una consola IPython
  • autocompletar
  • docstrings
  • capacidad de ver gráficos, marcos de datos, variables
Elise Breda
fuente
1
El enlace proporcionado parece actualmente (2019-03) desactualizado. Encontré este hilo que indica problemas con Rodeo en general: github.com/yhat/rodeo/issues/655
Qaswed
22

Es posible que desee consultar JupyterLab (la próxima generación de Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

JupyterLab tiene como objetivo crear una experiencia más similar al escritorio en la Web.

Actualización : A partir de marzo de 2018, JupyterLab está en versión beta. "Las versiones beta son adecuadas para uso general. Para los desarrolladores de extensiones JupyterLab, las API de extensión continuarán evolucionando hasta la versión 1.0. Eventualmente, JupyterLab reemplazará al clásico Jupyter Notebook después de que JupyterLab llegue a 1.0 " .

Para ejecutar Jupyter Lab como una aplicación de escritorio, visite christopherroach.com/articles/jupyterlab-desktop-app (Gracias a PatrickT ).

Aquí hay una vista previa rápida:

ingrese la descripción de la imagen aquí

Puede organizar una computadora portátil junto a una consola gráfica sobre una terminal que está monitoreando el sistema, mientras mantiene el administrador de archivos a la izquierda:

ingrese la descripción de la imagen aquí

Para más detalles ver: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ y aquí: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- proyecto-jupyterlab-de-código-abierto-construido / .

majom
fuente
1
Se ve bien. Esto se abre en su navegador (es tan obvio que no lo mencionó). Esto me resulta irritante. Configuraría un navegador dedicado si tuviera que usar esto. ¿Hay un navegador recomendado para jupyterlab?
PatrickT
1
Gracias por el enlace! Lo agregué a la descripción.
majom
14

Pycharm es un IDE realmente decente. Por lo que he visto hasta ahora, es el más similar a Rstudio. Otra buena pieza es que le permite instalar nuevas bibliotecas de Python de una manera similar a Rstudio (que de lo contrario puede ser una pesadilla). Ahora hay una edición gratuita de 'comunidad'.

ingrese la descripción de la imagen aquí

mmann1123
fuente
Podría agregar que tiene soporte para archivos jupyter / ipython, por lo que podría combinarlo con la respuesta principal. (No estoy seguro si eso es parte de la versión gratuita).
Mark
¡PyCharm también te permite ejecutar una selección de código también!
4d11
7

Creo que vale la pena mencionar que se lanzó RStudio v1.1.359 Preview. Tiene una función de terminal que se puede usar para Python.

La descarga está disponible aquí.

La documentación está disponible aquí.

sankalp
fuente
4

Spyder es lo que necesitas! https://code.google.com/p/spyderlib/
Spyder (anteriormente conocido como Pydee) es un poderoso entorno de desarrollo interactivo para el lenguaje Python con funciones avanzadas de edición, prueba interactiva, depuración e introspección

duhan
fuente
0

Para un shell interactivo más agradable para Python, eche un vistazo a DreamPie . Sin embargo, no es realmente un IDE (¿como parece ser RStudio?)

Steven
fuente
0

Wing IDE, y probablemente también otros IDE de Python como PyCharm y PyDev tienen características como esta. En Wing puede seleccionar y ejecutar código en el Python Shell integrado o, si está depurando algo, puede interactuar con el programa de depuración pausado en un shell (llamado Debug Probe). También hay soporte especial para matplotlib, en caso de que lo esté usando, para que pueda trabajar con tramas de forma interactiva.

Wingware
fuente