如何清除ipython的Notebook列表中的陈旧条目?

时间:2014-09-28 21:56:51

标签: python sqlite ipython ipython-notebook

当我从命令行运行ipython notebook list时,我应该得到一份当前运行的笔记本服务器列表;但在我关闭服务器之后,某些条目仍然存在。由于未能在~/.ipython中找到会话列表文件,我在源代码(sessionmanager.py)中挖掘并发现会话在sqlite数据库中查找:

def list_sessions(self):
    """Returns a list of dictionaries containing all the information from
    the session database"""
    c = self.cursor.execute("SELECT * FROM session")
    return list(c.fetchall())

太好了,让我们找到数据库并将其删除。但数据库似乎初始化如下:

self._connection = sqlite3.connect(':memory:')

这是正确的,它是一个内存数据库,当进程关闭时它应该消失。但我已经关闭了我运行的每一个python或笔记本进程,但僵尸会话仍然出现。这里有没有人能够很好地理解系统,以解释它们如何粘附,和/或如何摆脱它们? (我在OS X上,如果重要的话)。

1 个答案:

答案 0 :(得分:1)

如果您要从列表中删除它们,请在ubuntu上:  /home/username/.ipython/profile_default/security

每次启动新nbserver-13578.json时,您都会看到notebook等文件,如果删除它们,则在使用以下内容重新检查时应看到一个空列表:

ipython notebook list

  Currently running servers:
  :~$