iPython, muito mais que um simples shell

O iPython não é somente mais um shell Python. Apesar de servir muito bem como um simples substituto ao shell Python padrão, existe tanta coisa por trás desse projeto que é, no mínimo, injusto caracterizá-lo apenas como uma alternativa ao shell Python padrão. Além dos esperados recursos como completação de nomes de módulos/funções, o iPython fornece um rico conjunto de funcionalidades que o tornam um ambiente de desenvolvimento e experimentação único. Vou listar algumas das funcionalidades disponíveis:

  • Execução de comandos de sistema:com uma sintaxe mais simples que uma chamada a os.system(), é possível a execução de comandos no sistema. Basta preceder o comando com o caractere de exclamação(!).
    • Exemplo: !ls -l
  • Redirecionamento de saída de comandos:é possível armazenar em uma lista o resultado da execução de um comando do sistema. Para isso, basta uma atribuição simples.
    • Exemplo: arquivos = !ls
  • Funções avançadas de histórico: atalhos específicos para execução de comandos anteriormente executados.
  • Criação de aliases (apelidos) para comandos.
  • Autoindentação: ativada por padrão, é também possível desativá-la.
  • Execução de programas Python:com apenas um comando, é possível executar um arquivo Python dentro do iPython.
    • Exemplo: %run arquivo.py
  • Avaliar tempo de execução de comandos:com um simples comando, é possível “medir” o tempo de execução de trechos de código Python.
    • Ex.: %timeit print “Hello, world!” Muitas das funcionalidades aqui apresentadas não são novidade, pois podem ser obtidas através da utilização de módulos, como o timeit, no caso dessa funcionalidade. O interessante é a praticidade para utilização desses recursos dentro do iPython.
  • Console gráfico (qt): o iPython oferece um console que pode, por exemplo, apresentar imagens inline no texto do console. Assim, é possível plotar gráficos direto no shell.
  • Computação paralela: o iPython é muito utilizado para computação científica, onde é necessária a realização de tarefas que, muitas vezes, se tornam inviáveis em apenas uma máquina isolada. Para isso, a arquitetura do iPython já foi projetada visando dar suporte a execução paralela de comandos. Veja mais em: http://minrk.github.com/scipy-tutorial-2011/parallel_intro.html
  • Interface Web: também é possível acessar um ambiente iPython através de uma interface web.
  • E muito mais: para descobrir, execute o iPython e digite %quickref para ler a referência.
iPython

Tela do iPython

Na minha opinião, esse é um ambiente feito especialmente para quem passa o dia inteiro imerso em um shell Python e precisa de uma solução mais completa para facilitar o seu dia-a-dia. Excelente para a experimentação típica de quem trabalha com pesquisa científica, também pode ser muito bem aproveitado por programadores Python que desejam um shell mais completo. Recomendo!

Anúncios

Um comentário sobre “iPython, muito mais que um simples shell

  1. Muito bom este post stummjr! Estou tentando utilizar este shell para continuar meus estudos de python, e gostaria muito de uma ajuda sua!
    Apareceu o seguinte problema no final da instalação:
    *** run_installscript: internal error 0xFFFFFFFF ***

    Acredito que seja porque estou utilizando win 64, e não possui versão do Ipython para tal, continuando minhas pesquisas, li na documentação do Ipython que usuarios de win 64 devem tentar “Install from source, but using setuptools (python setupegg.py install).”

    Ja instalei setuptools, baixei o source do Ipython, estou com todos os arquivos. A duvida é na verdade como proceder a instalação a partir dos arquivos source.

    Primeiro devo jogar todos os arquivos Ipython dentro da pasta c:\Python26 ? E depois rodar o comando “python setupegg.py install” no cmd? Ou devo jogar apenas o Ipython.py dentro da pasta c:\Python26\scripts, e alterar o environment ?

    Como proceder?

    Muito obrigado! Valeu!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s