我在远程服务器上运行ipython notebook
,即
ipython notebook --profile=nbserver
我从本地计算机访问。此外,我从我的机器ssh到远程服务器,并在该服务器上启动ipython控制台(终端)。我发现以下命令运行良好:
ipython console --existing \
~/.config/ipython/profile_nbserver/security/kernel-*.json
现在我从两个不同的客户端连接到同一个远程内核(让我们称之为browser
和terminal
)。一切都运作良好,除了一个恼人的细节:
1)在browser
中,我输入a=1
2)在terminal
中,我输入b=2
3)在两个客户端中,我可以使用%history
查看这两个命令。但是当我想使用 Up 遍历历史(在terminal
中)时,它只显示在终端中输入的命令(即b=2
)。同样,我无法在终端中使用a
+ PageDown ,返回历史记录并找到以a
开头的命令。
根据我的理解,我的两个客户使用两个单独的历史文件history.sqlite
。但为什么%history
显示所有命令?
问题:
是否有任何方法可以为两个客户端使用一个history.sqlite
进行配置?
我发现,轻松访问历史记录绝对至关重要。此外,我认为使用终端和浏览器作为补充,它们都有权衡,最好结合使用。
答案 0 :(得分:3)
您可以通过在终端设置历史记录来设置历史记录的加载位置:
ipython --HistoryManager.hist_file=$HOME/ipython_hist.sqlite
或在ipython配置文件中:
import os
c.HistoryManager.hist_file=os.path.expanduser("~/ipython_hist.sqlite")