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,

}
相关推荐
程序员爱德华2 小时前
Python与C++:异同点对比
c++·python
hangyuekejiGEO2 小时前
GEO技术服务选型指南
大数据·人工智能·python
软萌萌的12 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
Dxy12393102163 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
持敬chijing4 小时前
Python概述
开发语言·python
sanzk6 小时前
esp32s3 +arduino ide
ide
赤羽尾风6 小时前
NumPy快速入门
python·numpy
倒流时光三十年7 小时前
第三阶段 26 · highlight 高亮(返回命中片段)
后端·python·django
久久学姐8 小时前
Python+Playwright+Pytest+BDD,用FSM打造高效测试框架
python·pytest·bdd·playwright·fsm