Existe algo como o RStudio para Python? [fechadas]

172

No RStudio, você pode executar partes do código na janela de edição de código, e os resultados aparecem no console.

Você também pode fazer coisas legais, como selecionar se deseja executar tudo até o cursor, ou tudo após o cursor, ou apenas a parte que você selecionou, e assim por diante. E há teclas de atalho para todas essas coisas.

É como um passo acima do shell interativo no Python - lá você pode usar o readline para retornar às linhas individuais anteriores, mas ele não tem nenhum "conceito" do que é uma função, uma seção de código etc.

Existe uma ferramenta como essa para Python? Ou você tem algum tipo de solução semelhante que você usa, digamos, no vim?


fonte
além do RStudio, há suporte para arquivos .Rnw, que considero particularmente úteis para criar arquivos PDF automatizados. Ainda estou procurando um bom IDE Python.
Moldovean
1
Você começa a ver variáveis detalhes e mais importante arquivo de ajuda dentro do rstudio
Ankit
18
Eclipse PyDev, Jupyter e Spyder / Anaconda são substitutos decentes , mas nenhum deles é tão fácil de trabalhar como o RStudio. A conclusão do código, atalhos para áreas de comutação, instalação interativa de pacotes, guias com reposicionamento de pedidos, painel de documentação, tudo torna o RStudio mais fácil de usar. O Python tem algumas vantagens enormes como linguagem, mas o IMHO no Python IDE está no nível do RStudio.
2
Comecei a usar o Rodeo, no entanto, é muito buggy. Nada se compara ao RStudio. O Python sempre terá essa fraqueza para análise e exploração de dados até que um IDE adequado seja feito com a análise e a exploração de dados como objetivo principal.
precisa saber é o seguinte
1
O RStudio agora suporta Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Respostas:

51

Os notebooks IPython são incríveis. Aqui está outra ferramenta nova, baseada em navegador, que eu descobri recentemente: o Rodeo . Minha impressão é que parece suportar melhor um fluxo de trabalho semelhante ao RStudio.

Captura de tela do rodeio

Ryan
fonte
1
Ótima descoberta! O IMO RStudio é a melhor interface do usuário para análise de dados, sempre procurando algo semelhante para o python.
Visitantz
4
O Yhat lançou o Rodeo 2.0 (aplicativo nativo, não uma ferramenta de navegador) para Windows, Mac e Linux em 2016. É muito mais estável do que era e possui muitos novos recursos, como destaque de sintaxe e tutoriais integrados. Definitivamente vale a pena conferir se você gosta do RStudio!
Elise Breda
8
Minha impressão no início de 2017 é que o Rodeo ainda parece um projeto muito novo e não pode ser comparado ao RStudio em termos de recursos ou personalizações da interface do usuário. E parece bastante buggy. Acredito que o Spyder é muito mais maduro e perto de ser uma alternativa real do RStudio, mas o YMMV.
Jealie
Anúncio "aplicativo nativo não é uma ferramenta do navegador": Pelo que posso ver, o Rodeo 2.0 usa o Electron . Ainda é uma ferramenta de navegador, mas agora vem com seu próprio navegador para fazer com que pareça um aplicativo nativo. (Também vale a pena mencionar que ele vem com uma dependência em NodeJS.)
Phillip
1
O link fornecido parece atualmente (2019-03) estar desatualizado. Eu encontrei esta discussão afirmando questões com Rodeo em geral: github.com/yhat/rodeo/issues/655
qaswed
32

Notebook Jupyter (anteriormente conhecido como notebook IPython ) é um projeto muito interessante para manipulação de dados interativa em Python (e outras linguagens, incluindo R). Ele basicamente permite codificar e documentar interativamente o que você está fazendo em uma interface e, posteriormente, salvá-lo como:

  • bloco de anotações ( .ipynb )
  • script (um arquivo .py arquivo incluindo apenas o código-fonte)
  • html estático (e, portanto, pdf também)

Você pode até compartilhar seus cadernos on-line com outras pessoas usando o serviço nbviewer , onde as pessoas publicam livros inteiros . Além disso, o GitHub renderiza seus arquivos .ipynb . Você pode publicar seus Jupyter Notebooks como artigos de pesquisa reproduzíveis na Authorea . Para edição colaborativa de vários usuários, confira o Google Colab, construído sobre o Jupyter.

Captura de tela do Jupyter Notebook

A versão padrão do Jupyter Notebook inicia um aplicativo da Web localmente (ou você o implanta em um servidor) e o utiliza no seu navegador. Como Ryan também mencionou em sua resposta , o Rodeo é uma interface mais semelhante ao RStudio, construída sobre o kernel do Jupyter.

JupyterLab é uma mais recente da interface do usuário, permitindo mais flexibilidade na forma de editar seus notebooks, controlar widgets interativos e até executar comandos em emuladores de terminal.

Há também um console Qt para IPython , um projeto semelhante com gráficos em linha, que é um aplicativo de desktop.

Jupyter é um pacote Python normal e pode ser instalado usando pip install jupyter. Para obter todas as bibliotecas científicas em execução no seu computador, no entanto, pode ser mais fácil experimentar os contêineres oficiais do Jupyter Docker . Por exemplo, supondo que seus blocos de anotações estejam em ~ / code / jupyter , você pode executar o contêiner como:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
metakermit
fonte
Porém, há uma diferença muito importante: as pessoas que possuem contas na máquina em que o servidor da web RStudio está executando, podem efetuar login no servidor e usá-lo de forma "compartilhada" na mesma porta. O IPython 2.x não suporta isso: se você quiser que duas pessoas o acessem no mesmo servidor, será necessário executar 2 instâncias do servidor em 2 portas diferentes, que não podem ser dimensionadas facilmente.
Laryx Decidua
Sim esta correto. O trabalho inicial no IPython 3.x é feito para suportar notebooks multiusuário, no entanto.
Metakermit>
1
Outra diferença importante é o formato ridículo (IMHO) do "notebook". No RStudio, você pode abrir um script, transmiti-lo ao intérprete e depois interagir com o intérprete. O script está de um lado, o intérprete do outro. Como o IPython tem seu próprio formato, você não pode simplesmente abrir um script, que se editado em um notebook estiver em um formato diferente.
Michael Michael
Você pode importar um script literalmente como um módulo e mexer com qualquer variável ou função que ele definir dentro do notebook. Na direção oposta, você pode exportar um notebook IPython como um arquivo .py diretamente. No entanto, não é um IDE, com certeza.
00003
1
@ kermit666 O JupyterHub ( github.com/jupyter/jupyterhub ) é a solução que estou usando atualmente para notebooks para vários usuários acessíveis pela Web. Funciona muito bem. Recomendado.
Laryx Decidua
31

spyder ou instale o python (x, y). isso é ótimo

Se você é novo no Python, pode instalar a distribuição gratuita do Anaconda ( http://continuum.io/downloads.html ), que instalará o Spyder para você, assim como o Python 2.7 e o IPython. O Spyder é muito semelhante ao RStudio.

eco
fonte
5
Estou procurando um fluxo de trabalho como o R com um editor de texto para python há algum tempo e o spyder parece fazê-lo. Eu tenho uma janela do editor de texto e uma janela python. Destaco algumas linhas no editor de texto e clico em F9 e elas são executadas no intérprete. Simples, mas exatamente o que eu estava procurando.
kpierce8
O Spyder é excelente como um equivalente local do RStudio (embora não tenha o fácil acesso remoto do navegador à versão do servidor).
Michael Michael
22

Confira o Rodeo do Yhat se você estiver procurando algo como o RStudio for Python.

O rodeio tem:

  • editor de texto (usa Atom sob o capô)
  • Modo Vim / Emacs
  • um console IPython
  • autocompletar
  • docstrings
  • capacidade de ver gráficos, quadros de dados, variáveis
Elise Breda
fonte
1
O link fornecido parece atualmente (2019-03) estar desatualizado. Eu encontrei esta discussão afirmando questões com Rodeo em geral: github.com/yhat/rodeo/issues/655
qaswed
22

Você pode pesquisar no JupyterLab (a próxima geração de Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

O JupyterLab visa criar uma experiência mais parecida com um desktop na Web.

Atualização : a partir de março de 2018, o JupyterLab está na versão beta. "As versões beta são adequadas para uso geral. Para os desenvolvedores de extensões do JupyterLab, as APIs de extensão continuarão evoluindo até a versão 1.0. Eventualmente, o JupyterLab substituirá o clássico Jupyter Notebook depois que o JupyterLab atingir a 1.0. "

Para executar o Jupyter Lab como um aplicativo de desktop, consulte christopherroach.com/articles/jupyterlab-desktop-app (Obrigado a PatrickT ).

Aqui está uma rápida visualização:

insira a descrição da imagem aqui

Você pode organizar um notebook ao lado de um console gráfico no topo de um terminal que está monitorando o sistema, mantendo o gerenciador de arquivos à esquerda:

insira a descrição da imagem aqui

Para obter mais detalhes, consulte: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ e aqui: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- projeto-jupyterlab-projeto-de-fonte-aberta / .

majom
fonte
1
Parece legal. Isso abre no seu navegador (é tão óbvio que você não mencionou). Eu acho isso irritante. Eu configuraria um navegador dedicado se usasse isso. Existe um navegador recomendado para o jupyterlab?
PatrickT
1
Obrigado pelo link! Eu adicionei à descrição.
majom 13/03/19
14

Pycharm é um IDE realmente decente. Pelo que vi até agora, é o mais semelhante ao Rstudio. Outra parte interessante é que ele permite que você instale novas bibliotecas Python de maneira semelhante ao Rstudio (que de outra forma pode ser um pesadelo). Agora existe uma edição gratuita da 'comunidade'.

insira a descrição da imagem aqui

mmann1123
fonte
Posso acrescentar que ele suporta arquivos jupyter / ipython, para que você possa combiná-lo com a resposta principal. (Não tenho certeza se isso faz parte da versão gratuita).
Mark
O PyCharm também permite que você execute uma seleção de código!
4d11 14/0218
7

Eu acho que vale a pena mencionar que o RStudio v1.1.359 Preview é lançado. Possui um recurso de terminal que pode ser usado para Python.

O download está disponível aqui

A documentação está disponível aqui

sankalp
fonte
4

Spyder é que você precisa! https://code.google.com/p/spyderlib/
Spyder (anteriormente conhecido como Pydee) é um poderoso ambiente de desenvolvimento interativo para a linguagem Python com recursos avançados de edição, teste interativo, depuração e introspecção

duhan
fonte
0

Para um shell interativo mais agradável para Python, dê uma olhada no DreamPie . Não é realmente um IDE (como o RStudio parece ser?)

Steven
fonte
0

O Wing Wing e provavelmente outros IDEs Python, como PyCharm e PyDev, possuem recursos como este. No Wing, você pode selecionar e executar o código no Python Shell integrado ou, se estiver depurando algo, poderá interagir com o programa de depuração pausado em um shell (chamado Debug Probe). Também há suporte especial para o matplotlib, caso você esteja usando isso, para poder trabalhar com parcelas interativamente.

Wingware
fonte