无法打开新的Jupyter笔记本[权限被拒绝]

Cod*_*101 23 ipython-notebook

我使用pip3在ubuntu 16.04上安装了Jupyter Notebook.我可以执行jupyter notebook命令.它将打开并显示当前路径目录的列表.

但我不能创建一个新的笔记本(Python3).它说

保存文件时出现意外错误:Deep Learning/NN/Untitled.ipynb [Errno 13]权限被拒绝:'/ home /ubuntu/.local/share/jupyter/notesbook_secret'

Gan*_*dey 37

将目录的所有权~/.local/share/jupyterroot更改为user.

sudo chown -R user:user ~/.local/share/jupyter 
Run Code Online (Sandbox Code Playgroud)

见这里:https://github.com/ipython/ipython/issues/8997

user冒号之前的第一个是您的用户名,user冒号之后的第二个是您的组.如果您获得chown: [user]: illegal group name,请找到您的组groups,或指定没有组sudo chown user: ~/.local/share/jupyter.

编辑:-R在答案的评论中添加了选项.您必须更改此目录中的所有文件(或内部~/.jupyter/,无论它向您提供PermissionError)的所有权,以使其工作.

  • sudo chown -R user:user~/.local/share/jupyter (3认同)
  • 我们如何在Windows中做到这一点? (3认同)

Shw*_*del 12

尝试了所有建议,但最终这对我有所帮助:

sudo jupyter notebook --allow-root
Run Code Online (Sandbox Code Playgroud)

就我而言,它本身并没有启动浏览器.所以只需从终端复制链接并自行打开即可.

更新: 通过此命令更改文件夹(.local)权限:

sudo chmod -R 777 .local
Run Code Online (Sandbox Code Playgroud)

  • 如上所述 - 请不要使用`chmod 777`!这是一个真正的安全问题。 (6认同)
  • 不!在 `.local` 文件夹上 chmod 777 是一个可怕的主意。您允许每个人修改并执行您的二进制文件! (5认同)
  • (详细说明):您的“.local”文件夹应始终具有“700”权限,这基本上允许您独自完成所有事情 (2认同)

小智 8

我认为,在专用的工作簿文件夹中运行Jupyter是一个好习惯。

$ mkdir jupyter_folder
$ jupyter-notebook --notebook-dir jupyter_folder
Run Code Online (Sandbox Code Playgroud)

其中“ jupyter_folder”是我家中的文件夹。

此方法无需许可即可工作。


Kry*_*ian 7

在 Ubuntu 上,当浏览器安装为“快照”时,可能会出现“权限被拒绝”。我遇到了这个问题。我编辑了配置文件以打开常规浏览器并且它有效。

如何更改Linux中ipython/jupyter笔记本使用的默认浏览器?


小智 5

这里的最佳答案并没有完全解决问题,尽管这可能是必要的步骤:

sudo chown -R user:user ~/.local/share/jupyter 
Run Code Online (Sandbox Code Playgroud)

(用户应该是运行笔记本服务器的登录用户)这会将文件夹所有者更改为运行服务器的用户,并授予其完全访问权限。

执行此操作后,错误消息表示它没有权限在 ~/.ipynb_checkpoints/ 中创建检查点文件,因此我还更改了该文件夹的所有权(以前是 root )

sudo chown -R user:user ~/.ipynb_checkpoints/
Run Code Online (Sandbox Code Playgroud)

然后我就能够创建并保存笔记本了!