Jupyter Notebook:对文件的访问被拒绝

mat*_*ews 21 python permissions ubuntu jupyter-notebook

我正在尝试在 Ubuntu 21.10 上运行 Jupyter 笔记本。我已经安装了 python、jupyter Notebook 以及所有各种先决条件。我添加export PATH=$PATH:~/.local/bin到我的bashrc以便该命令jupyter notebook可以从终端运行。

当我jupyter notebook从终端调用时,我从浏览器收到以下错误消息:

Access to the file was denied.

The file at /home/username/.local/share/jupyter/runtime/nbserver-260094-open.html is not readable.

    It may have been removed, moved, or file permissions may be preventing access.
Run Code Online (Sandbox Code Playgroud)

我正在使用最新版本的 FireFox。

我已经阅读了许多有关此问题的指南,这似乎是一个权限错误,但我使用的指南都没有解决该问题。使用sudo没有帮助,事实上它会导致Exception: Jupyter command "jupyter-notebook" not found.抛出。

话虽这么说,我仍然能够访问笔记本服务器。如果我进入终端并单击localhost:8888笔记本服务器的 IP 地址,那么它会将我带到笔记本,一切都可以正常运行。

我想解决这个问题,以便当我运行时jupyter notebook我会被带到服务器,而不需要返回到终端窗口并单击 IP 地址。如果我同时运行多个笔记本,这很不方便并且会减慢我的速度。

任何有关此问题的帮助将不胜感激!

小智 41

我有同样的问题。

Ubuntu 20.04.3 LTS Chromium 版本 96.0.4664.110

这是我的案例的解决方案:

使用以下命令创建配置文件:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

编辑配置文件~/.jupyter/jupyter_notebook_config.py并设置:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

确保此配置参数从行的开头开始。如果在行首留下一个空格,您将收到一条消息,表明对该文件的访问被拒绝。

否则,您可以清理并重新安装 JupyterLab

jupyter lab clean --all
pip3 install jupyterlab --force-reinstall
Run Code Online (Sandbox Code Playgroud)

  • 另外,请确保“c.NotebookApp.use_redirect_file = False”未注释(删除行开头的#,如果有的话) (2认同)

Dor*_*rir 11

如果有人好奇,问题的原因是file://URI 方案无法访问直接位于主目录下的隐藏目录中的文件(~/.local在您的情况下)。

您可以通过以下方式重现问题: mkdir ~/.test && echo "abc" > ~/.test/file.html && xdg-open ~/.test/file.html

我在RFC8089中找不到任何关于此行为的参考,而且我也不明白 Jupyter 作者如何错过了这个问题。

正如 LSeu 所建议的,绕过本地重定向文件的方法是运行: echo "c.NotebookApp.use_redirect_file = False" >> ~/.jupyter/jupyter_notebook_config.py

另一个解决方案是运行jupyter notebook --no-browser并 (Ctrl) 单击终端中的链接。