jupyter 服务端扩展开发

1、项目结构
复制代码
jupyter_code/
├── jupyter_code/
│   ├── __init__.py      # 修复后的代码
│   ├── handlers.py      # 修复后的代码
│   └── __pycache__/
├── setup.py             # 修复后的代码
├── MANIFEST.in          # (可选)包含额外文件
├── README.md            # (可选)文档
├── test_extension.py    # 测试脚本(没有做)
└── verify_extension.py  # 验证脚本(没有做)

# setup.py
from setuptools import setup

setup(
    name="jupyter_code",
    version="0.1.0",
    packages=["jupyter_code"],
    install_requires=["jupyterlab", "tornado"],
    entry_points={
        "jupyter_server_extension": [
            "jupyter_code = jupyter_code"
        ]
    },
)

# __init__.py
from .handlers import HelloWorldHandler


def load_jupyter_server_extension(server_app):
    """用于加载Jupyter服务器扩展的函数。"""
    handlers = [
        (r"/jupyter_code/hello", HelloWorldHandler)
    ]
    server_app.web_app.add_handlers(".*$", handlers)
    server_app.log.info("jupyter_code 扩展已加载")

# handlers.py
from jupyter_server.base.handlers import APIHandler
from tornado import web


class HelloWorldHandler(APIHandler):
    @web.authenticated
    def get(self):
        self.finish("Hello, world!")
2、然后打包安装。
复制代码
python setup.py  bdist_wheel

pip install dist\jupyter_code-0.0.1-py3-none-any.whl

网上的注册扩展做法

复制代码
jupyter server extension enable jupyter_code

测试后发现不起作用

3. 手动配置扩展

如果扩展已安装但未自动注册,可以手动配置:

A. 创建配置文件
复制代码
# 生成默认配置文件(如果不存在)
jupyter server --generate-config

# 编辑配置文件
vim ~/.jupyter/jupyter_server_config.py
B. 添加扩展配置
复制代码
# 在 jupyter_server_config.py 中添加
c.ServerApp.jpserver_extensions = {
    'jupyter_code': True,

}
相关推荐
不好听61313 分钟前
Python Dict 和 Set 底层原理:从哈希函数到哈希表全方位解析
python
好名字更能让你们记住我20 分钟前
【接口自动化测试】博客系统接口自动化测试报告
python·功能测试·自动化·接口测试·接口自动化·测试覆盖率
铁皮哥22 分钟前
【后端开发】什么是守护线程,和普通线程有什么区别?
java·开发语言·数据库·人工智能·python·spring·intellij-idea
SilentSamsara27 分钟前
FastAPI 实战:从路由定义到依赖注入的完整 REST API
开发语言·python·青少年编程·fastapi
我的xiaodoujiao41 分钟前
API 接口自动化测试详细图文教程学习系列23--结合Pytest框架使用4-前后置处理
python·学习·测试工具·pytest
weixin_BYSJ198742 分钟前
springboot旅游管理系统04470(附源码+开发文档+部署教程)
java·spring boot·python·算法·django·flask·旅游
IOT.FIVE.NO.11 小时前
Codex+Vscode+Remote ssh+ 服务器自定义第三方API配置保姆级教程
ide·vscode·编辑器
kaico20181 小时前
Python 在 Jenkins Pipeline 中的使用总结
开发语言·python·jenkins
多彩电脑1 小时前
在Kivy中制造可移动控件
python
Zy_Yin1231 小时前
拆解如何用anthropic金融agent做投研
人工智能·python·深度学习·金融·github