首页 > 解决方案 > 更改笔记本目录会导致加载扩展出错

问题描述

我正在使用shell_plus以下命令通过 Django 运行 IPython 笔记本:

sudo ./manage.py shell_plus --notebook

我不确定它是如何工作的,但./manage.py shell_plus知道在 django 的settings.py文件中查找其他设置,其中我有以下 IPython 参数:

IPYTHON_ARGUMENTS = [
    '--ext', 'django_extensions.management.notebook_extension',
    '--profile=mitchell',
    '--port=8889',
    '--notebook-dir=/home/rootadmin/server/',
    '--certfile=/ssl/fullchain.pem',
    '--keyfile=/ssl/privkey.pem',
    '--ip=*',
    '--no-browser',
    '--no-mathjax',
]

到目前为止,这一切都按预期工作。它运行一个笔记本服务器,我可以访问它,它为 中的任何笔记本文件提供服务notebook-dir,该目录与我运行./manage.py shell_plus --notebook命令的目录相同。我可以执行代码,并且可以访问我的 django 模型。

但是,这是我的一般主目录,我不希望我的所有笔记本都在这个目录中。我创建了一个新目录,我想从中提供我的笔记本。我相应地改变了我的notebook-dir

    '--notebook-dir=/home/rootadmin/server/jupyter_directory',

然后,如果我运行笔记本,它最初似乎可以工作:我可以在线访问它,它会向我显示jupyter_directory.这些模型是未定义的。在我启动笔记本的终端中,我看到以下错误:

[IPKernelApp] WARNING | Error in loading extension: django_extensions.management.notebook_extension
Check your config files in /home/rootadmin/.ipython/profile_mitchell

我不知道要检查什么。我假设错误是因为它现在正试图从错误的位置导入。如何为目录 A 提供服务,并从目录 B 导入?

标签: pythondjangojupyter-notebook

解决方案


推荐阅读