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,

}
相关推荐
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup112 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi002 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵2 天前
用 Python 实现 Take-Away 游戏
python·游戏