【问题标题】:Jupyter notebook permission errorJupyter notebook 权限错误
【发布时间】:2016-06-23 00:51:56
【问题描述】:

我在打开 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'

由于我对这一切几乎一无所知,我需要一些帮助:)

【问题讨论】:

    标签: python ipython anaconda jupyter


    【解决方案1】:

    解决方法是在终端以普通用户的身份运行以下命令

    $ 导出 XDG_RUNTIME_DIR="" 然后启动jupyter $jupyter 笔记本

    它不能作为root用户工作

    【讨论】:

    • 这可以暂时解决问题,但不能永久解决。当我再次登录时问题又回来了。
    • 可以添加到~/.bashrc文件中
    • 将命令添加到 ~/.bashrc 文件并保存,然后执行 -> source ~/.bashrc
    • 我们是否必须在 CMD 或 Anaconda powershell 中运行 $ export XDG_RUNTIME_DIR="" 命令?
    • 截至 2021 年 3 月 31 日,此解决方案不适用于 Jupyter 4.4 的 snap install
    【解决方案2】:

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

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

    【讨论】:

    • 我没有看到任何名为 Jupyter 的文件夹。只是一个.jupyter。它已经归我当前的用户所有。关于需要拥有哪个文件的任何线索?
    • 对不起,我不明白,你自己遇到这个错误还是更正? @davneet
    • 如果您可以复制尝试运行时收到的错误消息等,这将更加有用。 @davneet
    • “错误”是指“问题”,而不是实际的错误消息。我的意思是我在我的文件系统上看不到~/Library/Jupyter。所以我根本没有运行命令。因为我在任何地方都没有那个文件夹。
    • @davneet 您可能没有 MacOS ...答案中提到的文件夹是 Mac OS 上的文件结构。
    【解决方案3】:
    1. 您可能在初始安装程序用户 ID 下工作
    2. 转到 Ananconda 提示符并使用这 2 个命令 &gt;cd..&gt;cd yourusername 更改目录。
    3. 使用命令

      jupyter notebook

    这对我有用。

    【讨论】:

      【解决方案4】:

      我也遇到过类似的问题:

      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'
      ...
      

      我安装 jupyter 使用 PyCharm 所以只需更新jupyter,它就被解决了。

      命令:

      pip3 install --upgrade jupyter
      

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

      【讨论】:

      • 它确实解决了我的问题:Error executing Jupyter command 'notebook': [Errno 13] Permission denied 运行时jupyter notebook
      • 那么为什么它确实解决了问题,有些人投票“这个答案没用”,他们这么激进吗?
      【解决方案5】:

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

      sudo chmod -R 777 .local
      

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

      【讨论】:

      • 请不要这样做。命令chmod -R 777 .local 使~/.local 成为世界可写的。充其量,这是解决小刀问题的电锯解决方案;在最坏的情况下(在多用户系统上),这是一个巨大的安全漏洞。
      • 如果您的目标是让您的用户可以读取/写入~/.local 下的所有内容(因为权限以某种方式搞砸了),更好的解决方案是find ~/.local -type d -exec chmod u+rwx +; find ~/.local -type f -exec chmod u+rw +。这将设置目录读/写/执行(意味着您可以cd 进入它们)和文件读/写,仅供用户使用。
      【解决方案6】:

      作为根执行:

      sudo nano  ~/.bashrc
      

      在文件开头添加:

       export XDG_RUNTIME_DIR="" 
      

      Ctrl-o 写入文件,按Ctrl+x 退出。

      现在输入:

      source ~/.bashrc 
      

      如果这不起作用,请卸载 Jupyter 笔记本并让当前用户(例如 joe)拥有文件夹中的所有内容(以及文件夹本身):

      sudo chown -R $joe:joe /home/joe/.jupyter
      
      pip install notebook --user
      

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          【解决方案8】:

          我运行“whereis jupyter”得到以下输出:

          /snap/bin/jupyter /snap/bin/jupyter.ipython /snap/bin/jupyter.nbconvert

          然后我运行以下命令:

          sudo chmod -R 755 /snap/bin/jupyter

          以前,我试图为打开 Jupyter 笔记本的文件夹设置权限。它不起作用。看来jupyter所在的文件夹需要设置权限。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-05-28
            • 1970-01-01
            • 1970-01-01
            • 2021-07-12
            • 1970-01-01
            • 2017-11-05
            • 2019-09-08
            • 1970-01-01
            相关资源
            最近更新 更多