gpt4 book ai didi

python - Jupyter Notebook 定制服务

转载 作者:行者123 更新时间:2023-12-05 07:26:01 24 4
gpt4 key购买 nike

我想为 Jupyter Notebook 编写一个新服务。但是我无法弄清楚如何让它运行。我创建了一个类似于默认服务的服务 https://github.com/jupyter/notebook/tree/master/notebook/services .

我试图在从 jupyter/base-notebook 构建的 Docker 容器中运行它。我已将 c.NotebookApp.extra_services = ['TestHandler'] 添加到笔记本配置中,并将我的服务复制到 /opt/conda/lib/python3.6/site- packages/notebook/services/test.py.

当我启动 Notebook 服务器时,我收到一条错误消息,显示 ModuleNotFoundError: No module named 'TestHandler' 很明显我的服务没有被正确加载。不幸的是,我找不到任何关于如何在 Jupyter Notebook 中加载服务的文档。

这是我的test.py 服务:

import json

from tornado import web

from ...base.handlers import APIHandler


class TestHandler(APIHandler):

@web.authenticated
def get(self):
res = { "foo": "bar" }
self.finish(json.dumps(res))

default_handlers = [
(r"/api/test", TestHandler),
]

最佳答案

该配置值需要一个具有 default_handlers 属性的可导入模块列表。因此,您可以使用完整路径:

# assuming your `test.py` lives in a top level package `mypackage`
c.NotebookApp.extra_services = ['mypackage.test']

或者你可以直接构造一个模块:

import sys
from types import ModuleType

name = 'some_long_ass_name_that_doesnt_conflict'
sys.modules[name] = ModuleType(name) # make the import machinery find it
sys.modules[name].default_handlers = [...]

c.NotebookApp.extra_services = [name]

关于python - Jupyter Notebook 定制服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com