Integrando o notebook jupyter (ipython) no notebook do modo organizacional

10

existe uma maneira de vincular os blocos de anotações jupyter (ipython) ao bloco de anotações org-mode? Da mesma maneira que outros arquivos (imagens) podem ser trazidos? Se for possível, as saídas também são vistas na nota (e as entradas são executáveis?) Ou apenas o próprio código? O guia de um manequim seria muito mais apreciado, pois eu sou novo no emacs e a configuração das coisas não é simples.

Passo a maior parte do tempo nos blocos de anotações Jupyter e tento documentar as várias etapas como um tutorial para colegas que desejam reproduzir meus métodos (às vezes, incluem trechos de código), além de discutir as descobertas no bloco de anotações no modo organizacional. É apenas porque o notebook em modo organizacional possui uma interface muito melhor com seções / subseções automáticas e facilmente acessível para qualquer pessoa (por exemplo, HTML). Se alguém quisesse verificar a sensibilidade de alguns outros parâmetros, seria muito melhor ter a capacidade de alterar o código no modo organizacional (sem a necessidade de mudar para o Jupyter) e os números de saída são gerados automaticamente (o mesmo que o Jupyter) ou quaisquer outras saídas. Muitas vezes, tenho que exportar vários gráficos do Jupyter para poder entrar no modo organizacional. Eu esperava que eu pudesse mudar totalmente para o modo organizacional e fazer toda a codificação lá.

Um exemplo de notebook jupyter com muitas saídas e gráficos é fornecido aqui ; você precisaria instalar o seaborn, pois ele não vem como um pacote padrão se o Anaconda for usado.

Curtis
fonte
Não tenho certeza do que você está tentando fazer? O Ipython salva seus notebooks como ipynb; este é apenas um json; portanto, deve ser fácil escrever um analisador para convertê-lo em um arquivo org txt. Não tenho certeza se eles já existem. Por outro lado, se você gostaria de permanecer no emacs e no modo org, existe o pacote emacs og-ipython. Isso permite que você use os blocos src no modo organizacional para interagir com um kernel do ipython, executar código, plotagens de saída no emacs. É isso que eu uso principalmente porque me recuso a deixar o emacs! Espero que isto ajude. github.com/gregsexton/ob-ipython
Seeralan S
11
John Kitchen escreveu ox-ipynb, que parece fazer algo assim. Eu não o usei, mas pode valer a pena tentar. kitchingroup.cheme.cmu.edu/blog/2017/01/21/… E como você é novo, vale a pena mencionar o tutorial C-h te, se quiser, a Introdução ao Emacs Lisp é uma excelente leitura: gnu. org / software / emacs / manual / eintr.html
Lorem Ipsum
Fico feliz em escrever um tutorial para fazer isso, a fim de ajudar outras pessoas a fazer pesquisas reproduzíveis! Você atualizaria sua pergunta com alguns exemplos simples de casos de uso e um fluxo de trabalho. Por exemplo, você deseja puxar arquivos ipynp para o modo organizacional? Gerar arquivos ipynp a partir do modo organizacional? Ambos? Nem? Como você atualiza sua pergunta deve incluir a resposta para o motivo de você querer fazer isso. Por exemplo, colaboração com outras pessoas que não usam o emacs + org-mode. Muitas felicidades!
Melioratus 11/01/19
Obrigado por todos os seus comentários. @Melioratus - chaves de uso atualizadas, conforme solicitado.
Curtis
Obrigado! Suas atualizações são muito úteis! Escrever este tutorial será uma experiência divertida para mim! Você tem um notebook Jupyter com alguns gráficos que eu posso usar como referência para criar um arquivo de modo organizacional com funcionalidade semelhante. Um link para um bloco de anotações Jupyter de exemplo seria útil para limitar o escopo do tutorial.
Melioratus 13/01/19

Respostas:

4

Nathaniel Nicandro lançou recentemente seu pacote emacs jupyter para integrar ainda mais o modo organizacional ao jupyter. Conforme mencionado no leia-me:

O emacs-jupyter estende os recursos do ob-ipython, integrando mais ao modo org e fornecendo uma melhor interface REPL para o kernel.

prash
fonte
Acho que é uma resposta melhor do que ob-ipython, pelas razões mencionadas no meu comentário para @ user3496846.
Trey
1

Confira ob-ipython : uma biblioteca Emacs que permite ao modo Org avaliar blocos de código usando um kernel Jupyter (Python por padrão) , pode ser o que você está procurando. O código de execução nos kernels ipython remotos com o Emacs e o orgmode fornece um exemplo básico usando exatamente essa biblioteca, e também há mais artigos relacionados nesse site.

user3496846
fonte
11
Veja também github.com/dzop/… conforme mencionado na resposta do @ prash abaixo. Especialmente quando o desenvolvimento parece ter parado no ob-ipython (pelo menos tão visível no GitHub), e Nathaniel Nicandro está atualizando a versão do código ob-ipython usado no emacs-jupyter, parece ser o sucessor natural, então provavelmente o melhor resposta neste caso. Somente o README.org deve mostrar o que ele pode fazer, é bastante impressionante!
Trey
@Rey Eu não sabia disso, obrigado pela atenção!
user3496846