Ipython: é possível desabilitar o pager ou dizer a magias específicas para não usarem o pager?

Criado em 22 mar. 2014  ·  3Comentários  ·  Fonte: ipython/ipython

Olá,
Não tenho certeza se vocês lidam com as perguntas de suporte por meio do rastreador de problemas ou em outro lugar, mas se em outro lugar e vocês puderem me indicar lá, fico feliz em postar novamente.

Estou tentando obter a saída de %psource para imprimir após a célula, em vez de executar a saída no pager do Bloco de anotações HTML. Eu vasculhei a documentação, pesquisei e vasculhei o rastreador de problemas (a maioria dos problemas relacionados que encontrei é o nº 1947) e o código-fonte, mas estou tendo dificuldade em descobrir como fazer isso. É possível? Do contrário, acho que seria um recurso muito útil.

Meu caso de uso específico é que estou reunindo materiais educacionais de bioinformática usando o Notebook e quero exibir o código-fonte de algumas funções-chave embutidas, de modo que sejam exibidos de maneira adequada, por exemplo, por meio do nbviewer, pois os recursos do código-fonte são discutidos no texto ao redor.

Obrigado pela ajuda com isso!
Greg

Comentários muito úteis

É um pouco mais complexo hoje em dia, já que page() é chamado com um dicionário de documentos digitados do tipo MIME. Aqui está o que desativou o pager para minha instalação do IPython 5.1.0:

Em ~/.ipython/profile_default/startup/no-pager.py :

from __future__ import print_function

def page_printer(data, start=0, screen_lines=0, pager_cmd=None):
    if isinstance(data, dict):
        data = data['text/plain']
    print(data)

import IPython.core.page
IPython.core.page.page = page_printer

Todos 3 comentários

Sim, você pode simplesmente substituir a chamada do pager por imprimir: http://nbviewer.ipython.org/gist/minrk/7715212

Funcionou perfeitamente, obrigado!

É um pouco mais complexo hoje em dia, já que page() é chamado com um dicionário de documentos digitados do tipo MIME. Aqui está o que desativou o pager para minha instalação do IPython 5.1.0:

Em ~/.ipython/profile_default/startup/no-pager.py :

from __future__ import print_function

def page_printer(data, start=0, screen_lines=0, pager_cmd=None):
    if isinstance(data, dict):
        data = data['text/plain']
    print(data)

import IPython.core.page
IPython.core.page.page = page_printer
Esta página foi útil?
0 / 5 - 0 avaliações