jupyter 远程访问配置:KeyError: 'allow_remote_access'

本文详细记录了解决在Ubuntu 16.04上配置Jupyter Notebook时遇到的远程访问配置错误的过程。通过修改jupyter_notebook_config.py文件,添加允许远程访问的配置项,成功解决了启动Jupyter Notebook时出现的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我今天在配置服务器的jupyter notebook的时候遇见了下面的错误

(安装jupyter的教程参考:https://blog.csdn.net/simple_the_best/article/details/77005400):

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/traitlets/traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'allow_remote_access'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 869, in _default_allow_remote
    addr = ipaddress.ip_address(self.ip)
  File "/usr/lib/python3.5/ipaddress.py", line 54, in ip_address
    address)
ValueError: '' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python3.5/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 1629, in initialize
    self.init_webapp()
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 1379, in init_webapp
    self.jinja_environment_options,
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 158, in __init__
    default_url, settings_overrides, jinja_env_options)
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 251, in init_settings
    allow_remote_access=jupyter_app.allow_remote_access,
  File "/usr/local/lib/python3.5/dist-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/usr/local/lib/python3.5/dist-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/usr/local/lib/python3.5/dist-packages/notebook/notebookapp.py", line 872, in _default_allow_remote

jupyter都是常规方法配置的,后面发现在配置jupyter_notebook_config.py的时候少加了下面的东西,于是输入

vim ~/.jupyter/jupyter_notebook_config.py  //ubuntu 16.04

添加如下代码行:

c.NotebookApp.allow_remote_access = True

然后这样就可以正常启动了

 

参考文献

[1].Error while trying to open Jupyter notebook in Paperspace. http://forums.fast.ai/t/error-while-trying-to-open-jupyter-notebook-in-paperspace/22634

 

<think>好的,我需要解决用户遇到的Git推送失败问题,具体错误是“session deploykey auth error cannot push code read from remote repository access rights”。首先,我需要分析这个错误的原因。用户提到可能是DeployKey不支持代码推送导致的,这应该是一个关键点。 DeployKey通常是用来授予对仓库的只读访问权限的,尤其是在持续集成/持续部署(CI/CD)的场景中。如果用户配置了DeployKey来拉取代码,但尝试用它来推送代码,就会遇到权限问题,因为DeployKey默认没有写权限。因此,问题可能出在这里。 接下来,我需要验证这个猜测是否正确。检查用户的DeployKey设置,确认是否只勾选了读权限而没有写权限。如果是这样的话,解决方案就是生成一个新的SSH密钥对,将其添加为具有写权限的DeployKey,或者直接将该密钥添加到用户账户的SSH密钥中,这样用户就拥有推送权限。 另外,还需要考虑其他可能的原因,比如SSH配置是否正确,密钥是否被正确加载,或者仓库的URL是否正确。例如,使用HTTPS协议时可能需要用户名和密码,而SSH协议则需要正确的密钥对。用户可能错误地使用了DeployKey对应的URL进行推送,而应该使用具有写权限的SSH URL。 还需要指导用户如何检查现有的DeployKey权限,并演示如何生成新的密钥对,将其添加到仓库或账户中。同时,提醒用户更新本地Git仓库的远程URL,确保使用正确的SSH地址。此外,权限问题可能还涉及服务器端的配置,比如仓库的访问控制列表(ACL)是否正确设置,但这种情况相对较少,主要集中在客户端配置上。 最后,总结解决方案的步骤,确保用户能够逐步操作,解决认证问题。同时,生成相关问题,帮助用户深入理解相关概念,避免未来出现类似问题。</think>### 问题分析:Git推送失败的认证问题 当遇到 `git push failed session deploykey auth error cannot push code read from remote repository access rights` 错误时,通常是由于以下原因: 1. **DeployKey仅支持读取权限**:DeployKey默认仅允许拉取代码(读权限),无法用于推送(写权限)[^1]。 2. **SSH密钥配置错误**:本地SSH密钥未正确关联到有推送权限的账户。 3. **仓库URL协议不匹配**:使用HTTPS协议时可能未提供有效凭据,或SSH密钥未加载。 --- ### 逐步解决方案 #### 1. 检查DeployKey权限 - **步骤**:进入Git仓库托管平台(如GitHub/GitLab),找到仓库的 **Settings > Deploy Keys**。 - **验证**:确认当前DeployKey是否勾选了 **Write access**(GitLab)或 **Allow write access**(GitHub)。若未勾选,则此密钥无法推送代码。 #### 2. 生成新的SSH密钥并配置权限 - **生成密钥对**(若需新密钥): ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 默认保存路径为 `~/.ssh/id_ed25519`(私钥)和 `~/.ssh/id_ed25519.pub`(公钥)。 - **添加公钥到仓库或账户**: - **方案1**:将公钥内容添加到仓库的 **DeployKey** 并勾选写权限(适用于自动化场景)。 - **方案2**:将公钥添加到个人账户的 **SSH Keys**(推荐,直接关联账户的推送权限)。 #### 3. 更新本地Git远程URL - 检查当前远程仓库协议: ```bash git remote -v ``` - 若使用HTTPS协议(如 `https://github.com/user/repo.git`),切换为SSH协议: ```bash git remote set-url origin git@github.com:user/repo.git ``` #### 4. 验证SSH连接 - 测试SSH连通性: ```bash ssh -T git@github.com # GitHub示例 ``` 若返回 `You've successfully authenticated` 表示连接正常。 #### 5. 重新尝试推送 ```bash git push origin main ``` --- ### 常见问题补充 - **权限冲突**:若同时存在多个SSH密钥,需通过 `ssh-add` 指定私钥: ```bash ssh-add ~/.ssh/your_private_key ``` - **服务器配置问题**:若问题持续,检查服务器端仓库权限设置(如GitLab的Protected Branches)。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民小飞侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值