Python Can';加载Jupyter服务器扩展时找不到模块

Python Can';加载Jupyter服务器扩展时找不到模块,python,jupyter,Python,Jupyter,我想在本地目录中加载: server_ext/ |__ __init__.py |__ extension.py extension.py from notebook.utils import url_path_join from notebook.base.handlers import IPythonHandler class HelloWorldHandler(IPythonHandler): def get(self): self.finish('Hell

我想在本地目录中加载:

server_ext/
|__  __init__.py
|__  extension.py
extension.py

from notebook.utils import url_path_join
from notebook.base.handlers import IPythonHandler

class HelloWorldHandler(IPythonHandler):
    def get(self):
        self.finish('Hello, world!')

def load_jupyter_server_extension(nbapp):
    """
    nbapp is istance of Jupyter.notebook.notebookapp.NotebookApp
    nbapp.web_app is isntance of tornado.web.Application - can register new tornado.web.RequestHandlers
    to extend API backend.
    """
    nbapp.log.info('My Extension Loaded')
    web_app = nbapp.web_app
    host_pattern = '.*$'
    route_pattern = url_path_join(web_app.settings['base_url'], '/hello')
    web_app.add_handlers(host_pattern, [(route_pattern, HelloWorldHandler)])
我从包含server_ext的目录运行以下命令:

jupyter notebook --NotebookApp.server_extensions="['server_ext.extension']"
但是我得到了错误“没有名为extension的模块”。我需要做些什么才能让Jupyter/python会话识别模块的路径吗?

找到了它-

事实证明,Jupyter Notebook对importlib.import_模块的调用设置了package=None,这意味着相对路径将不起作用

作为一种解决方法,可以修改~/.jupyter/jupyter_notebook_config.py脚本,将本地目录附加到PYTHONPATH,以便找到模块

import sys
sys.path.append("C:\\Users\\eric\\server_ext")

c.NotebookApp.server_extensions = [
    'extension'
]