Jupyter notebook 权限错误

17

我在打开Jupyter时遇到了一些问题。我刚刚安装了Anaconda,但当我尝试在终端中输入“Jupyter notebook”时仍然出现了相同的错误。

Johans-MBP:~ JDMac$ Jupyter notebook
Traceback (most recent call last):
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 501, in get
    value = obj._trait_values[self.name]
KeyError: 'runtime_dir'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/JDMac/anaconda3/bin/jupyter-notebook", line 6, in <module>
    sys.exit(notebook.notebookapp.main())
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/traitlets/config/application.py", line 588, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/traitlets/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/notebook/notebookapp.py", line 1021, in initialize
    self.init_configurables()
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/notebook/notebookapp.py", line 815, in init_configurables
    connection_dir=self.runtime_dir,
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 529, in __get__
    return self.get(obj, cls)
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 508, in get
    value = self._validate(obj, dynamic_default())
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/jupyter_core/application.py", line 99, in _runtime_dir_default
    ensure_dir_exists(rd, mode=0o700)
  File "/Users/JDMac/anaconda3/lib/python3.5/site-packages/ipython_genutils/path.py", line 167, in ensure_dir_exists
    os.makedirs(path, mode=mode)
  File "/Users/JDMac/anaconda3/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/Users/JDMac/Library/Jupyter/runtime'

由于我对所有这些几乎一无所知,我需要在这里寻求帮助 :)

11个回答

17

解决方案是在终端作为普通用户运行以下命令

$ export XDG_RUNTIME_DIR=""

然后启动Jupyter

$jupyter notebook

它将无法作为root用户工作


2
这只是暂时解决问题,而不是永久解决问题。当我再次登录时,问题会重新出现。 - Vikash Singh
2
你可以将其添加到~/.bashrc文件中。 - Binu Jasim
将该命令添加到 ~/.bashrc 文件中并保存,然后执行以下操作 -> source ~/.bashrc - Sai Pardhu
我们需要在CMD或Anaconda PowerShell中运行$ export XDG_RUNTIME_DIR =“”命令吗? - Asra Khalid
截至2021年3月31日,此解决方案与Jupyter 4.4的snap安装不兼容。 - Hektor

11

如果您正在使用 macOS,这可能会对您有所帮助:

sudo chown -R `whoami`:staff ~/Library/Jupyter

我没有看到名为“Jupyter”的文件夹。只有一个名为“.jupyter”的文件夹。而且它已经被我的当前用户拥有了。有关哪个文件需要被拥有的任何线索吗? - davneetnarang
抱歉,我不明白,您是自己遇到了这个错误还是需要进行纠正?@davneet - joddm
如果您在尝试运行程序时能够复制错误消息等信息,那将更加有用。@davneet - joddm
我所说的“error”是指“问题”,而不是实际的错误信息。我的意思是我在文件系统中看不到~/Library/Jupyter。因此,我根本没有运行该命令。因为我在任何地方都找不到那个文件夹。 - davneetnarang
1
@davneet 你可能没有MacOS...答案中提到的文件夹是Mac OS上的文件结构。 - Verena Haunschmid
如果您还遇到此问题,那么您可能是使用sudo(在Linux上)或其他帐户创建了一些文件,而不是当前使用的帐户。请使用“ ls -lah”命令检查“.jupyter”和其他相关目录中的文件属于谁。在我的情况下,问题出现在“.ipybn_checkpoints”中的检查点文件(该文件位于从“ jupyter notebook”启动的目录中)。 - Verena Haunschmid

2
  1. 您可能正在使用初始安装程序的用户ID工作
  2. 打开Ananconda提示符并使用以下两个命令更改目录>cd..>cd yourusername
  3. 使用命令

    jupyter notebook

对我有效。


1

权限错误可能是由于目录不在777模式下。请按照以下命令操作,这对我有效:

sudo chmod -R 777 .local

你可以根据发生错误的目录更改“.local”目录。

14
请勿这样做。命令 chmod -R 777 .local 使得 ~/.local 可以被任何人写入,即全局可写。最好的情况是,这是一个对于小问题采用大举措的方法;而在最糟糕的情况下(在多用户系统中),这是一个巨大的安全漏洞。 - TheDudeAbides
如果您的目标是让您的用户对“〜/ .local”下的所有内容都具有读取/写入权限(因为权限出了些问题),更好的解决方案是 find 〜/ .local -type d -exec chmod u + rwx +; find 〜/ .local -type f -exec chmod u + rw +。这将针对用户设置目录的读取/写入/执行权限(这意味着您可以cd进入它们),并且对文件进行读取/写入权限设置,仅适用于该用户。 - TheDudeAbides

1
我也遇到了类似的问题:

jupyter notebook
Traceback (most recent call last):
  File "c:\p\py353\lib\site-packages\traitlets\traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'log'
...

我使用PyCharm安装了Jupyter,只需更新jupyter即可解决问题。

命令:

pip3 install --upgrade jupyter

如果您再次使用以下命令: pip3 install jupyter 它只会打印已安装 但是一些依赖模块没有更新

2
当我运行“jupyter notebook”时,出现了Error executing Jupyter command 'notebook': [Errno 13] Permission denied错误,但问题已得到解决。 - Pengju Zhao
那么为什么它解决了问题,有些人投票说“这个答案没有用”,他们是如此激进吗? - lemmingxuan

0
当我在Win 10中遇到“Jupyter笔记本权限错误”时,对我有用的方法是以管理员模式运行终端并从那里编写“Jupyter笔记本”。

0
我最终在我的Mac终端中使用sudo打开了我的Jupyter笔记本。
sudo jupyter-notebook --allow-root

我尝试了这篇文章中提出的其他解决方案,但是这个解决方案是唯一一个能够解决我在Jupyter笔记本中读取/保存文件时持续出现的权限错误的方法。当然,这种方法可能会引起一些安全问题,因此如果其他人发现任何潜在的问题,请提供批评意见。


0

我曾经也遇到过同样的问题! 然后我打开了终端并切换到我正在尝试工作的目录文件夹,然后打开了Jupyter笔记本,这对我很有帮助。 我的文件夹位于/media文件夹中。

保罗


0
我运行了"whereis jupyter"命令,得到以下输出:
/snap/bin/jupyter /snap/bin/jupyter.ipython /snap/bin/jupyter.nbconvert
然后我运行了以下命令:
sudo chmod -R 755 /snap/bin/jupyter 之前,我试图设置我打开Jupyter笔记本的文件夹的权限,但没有成功。看起来需要为jupyter所在的文件夹设置权限。

0
我明白了,这是因为我之前的Windows用户账户安装了Jupyter Lab而导致的问题。
通过手动删除"User\AppData\Roaming\jupyter"文件夹来解决问题, Jupyter会在启动时重新创建它(注意:我的用户具有管理员权限)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接