JupyterLab 3:如何获取 运行 服务器的列表
JupyterLab 3: how to get the list of running servers
由于 JupyterLab 3.x 使用 jupyter-server 而不是经典的笔记本服务器,以下代码未列出使用 jupyter_server
服务的服务器:
from notebook import notebookapp
notebookapp.list_running_servers()
None
仍然适用于 file/notebook 名称的是:
from time import sleep
from IPython.display import display, Javascript
import subprocess
import os
import uuid
def get_notebook_path_and_save():
magic = str(uuid.uuid1()).replace('-', '')
print(magic)
# saves it (ctrl+S)
# display(Javascript('IPython.notebook.save_checkpoint();')) # Javascript Error: IPython is not defined
nb_name = None
while nb_name is None:
try:
sleep(0.1)
nb_name = subprocess.check_output(f'grep -l {magic} *.ipynb', shell=True).decode().strip()
except:
pass
return os.path.join(os.getcwd(), nb_name)
但它既不是 pythonic 也不快
如何获取当前 运行 服务器实例 - 例如当前笔记本文件?
迁移到 jupyter_server
应该很容易,只需将 notebook
更改为 jupyter_server
,将 notebookapp
更改为 serverapp
并更改适当的 configuration files - 与服务器相关的代码库基本没有变化。在列出服务器的情况下,只需使用:
from jupyter_server import serverapp
serverapp.list_running_servers()
由于 JupyterLab 3.x 使用 jupyter-server 而不是经典的笔记本服务器,以下代码未列出使用 jupyter_server
服务的服务器:
from notebook import notebookapp
notebookapp.list_running_servers()
None
仍然适用于 file/notebook 名称的是:
from time import sleep
from IPython.display import display, Javascript
import subprocess
import os
import uuid
def get_notebook_path_and_save():
magic = str(uuid.uuid1()).replace('-', '')
print(magic)
# saves it (ctrl+S)
# display(Javascript('IPython.notebook.save_checkpoint();')) # Javascript Error: IPython is not defined
nb_name = None
while nb_name is None:
try:
sleep(0.1)
nb_name = subprocess.check_output(f'grep -l {magic} *.ipynb', shell=True).decode().strip()
except:
pass
return os.path.join(os.getcwd(), nb_name)
但它既不是 pythonic 也不快
如何获取当前 运行 服务器实例 - 例如当前笔记本文件?
迁移到 jupyter_server
应该很容易,只需将 notebook
更改为 jupyter_server
,将 notebookapp
更改为 serverapp
并更改适当的 configuration files - 与服务器相关的代码库基本没有变化。在列出服务器的情况下,只需使用:
from jupyter_server import serverapp
serverapp.list_running_servers()