首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >朱庇特笔记本:访问文件被拒绝

朱庇特笔记本:访问文件被拒绝
EN

Stack Overflow用户
提问于 2022-01-18 10:10:02
回答 4查看 16.5K关注 0票数 18

我正在Ubuntu 21.10上运行一个木星笔记本。我安装了python、jupyter笔记本和所有各种先决条件。我将export PATH=$PATH:~/.local/bin添加到bashrc中,这样命令jupyter notebook就可以从终端运行。

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

代码语言:javascript
运行
复制
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.

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

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

话虽如此,我仍然能够访问笔记本服务器。如果我去终端,而不是点击笔记本服务器的localhost:8888或IP地址,然后它带我到笔记本,一切运行没有问题。

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

任何在这个问题上的帮助将是非常感谢的!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-01-18 10:19:18

我也有同样的问题。

Ubuntu 20.04.3 LTS铬版96.0.4664.110

就我的情况而言,这就是解决办法:

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

代码语言:javascript
运行
复制
jupyter notebook --generate-config

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

代码语言:javascript
运行
复制
c.NotebookApp.use_redirect_file = False

确保此配置参数从行的开头开始。如果在行的开头留出一个空格,您将得到拒绝访问该文件的消息。

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

代码语言:javascript
运行
复制
jupyter lab clean --all
pip3 install jupyterlab --force-reinstall
票数 39
EN

Stack Overflow用户

发布于 2022-04-27 10:01:12

如果有人好奇,问题的原因是file:// URI方案不能直接访问主目录下隐藏目录中的文件(在您的例子中是~/.local)。

您可以用:mkdir ~/.test && echo "abc" > ~/.test/file.html && xdg-open ~/.test/file.html重新创建问题

我在RFC8089中找不到任何关于这个行为的参考资料,我也不明白木星的作者是如何忽略这个问题的。

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

另一种解决方案是在终端中运行jupyter notebook --no-browser和(Ctrl)-click。

票数 9
EN

Stack Overflow用户

发布于 2022-08-25 21:42:05

对于那些运行带有snap的Firefox的用户:

我认为这个问题与安装了Snap的firefox有更多的关系,因为Snap允许Firefox访问其沙箱环境中/home/user文件夹中的隐藏目录。

这个线程中没有提到的另一个解决方案(如果您不想使用另一个浏览器安装)是将JUPYTER_RUNTIME_DIR env变量设置为/home/user文件夹中的一个非隐藏目录:

代码语言:javascript
运行
复制
# Ubuntu 22.04.1 LTS
# append env variable to persistent user env file.  requires relogging in
echo JUPYTER_RUNTIME_DIR=/home/user/jupyter_runtime >> ~/.pam_environment
reboot
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70753768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档