Digamos que eu esteja fazendo uma análise de dados maior no notebook Jupyter / Ipython com muitos cálculos demorados feitos. Então, por algum motivo, eu tenho que desligar o servidor local jupyter I, mas gostaria de voltar a fazer a análise mais tarde, sem ter que passar por todos os cálculos demorados novamente.
O que eu gostaria amor fazer é pickle
ou armazenar toda a sessão Jupyter (todos os pandas dataframes, np.arrays, variáveis, ...) para que eu possa com segurança desligar o servidor saber que posso voltar para a minha sessão exatamente no mesmo estado em antes.
É mesmo tecnicamente possível? Há alguma funcionalidade interna que esqueci?
EDITAR: com base nesta resposta, há uma %store
mágica que deveria ser "pickle leve". No entanto, você deve armazenar as variáveis manualmente da seguinte forma:
#inside a ipython/nb session
foo = "A dummy string"
%store foo
fechando a sessão, reiniciando o kernel
%store -r foo
# r para atualização
print(foo) # "A dummy string"
o que é bastante próximo do que eu gostaria, mas ter que fazer isso manualmente e ser incapaz de distinguir entre sessões diferentes torna-o menos útil.