在anaconda环境下打开jupyter lab出现错误: KeyError: 'allow_remote_access'

报错如下:

Traceback (most recent call last):
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-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 "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 864, in _default_allow_remote
    addr = ipaddress.ip_address(self.ip)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/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 "/root/anaconda3/envs/pytorch1.0/bin/jupyter-lab", line 11, in <module>
    sys.exit(main())
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "", line 2, in initialize
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 1628, in initialize
    self.init_webapp()
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/jupyterlab/labapp.py", line 353, in init_webapp
    super().init_webapp(*args, **kwargs)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 1378, in init_webapp
    self.jinja_environment_options,
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 159, in __init__
    default_url, settings_overrides, jinja_env_options)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 252, in init_settings
    allow_remote_access=jupyter_app.allow_remote_access,
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/site-packages/notebook/notebookapp.py", line 867, in _default_allow_remote
    for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

解决办法

使用vim ~/.jupyter/jupyter_notebook_config.py打开jupyter的配置文件,
然后添加一行c.NotebookApp.allow_remote_access = True即可。


附加vim的基本操作(参考vim功能使用)

vi的使用

基本上vi可以分为三种状态,分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:

一般模式: 以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用复制、粘贴来处理你的文件数据。

编辑模式: 在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果 要回到一般模式时, 则必须要按下【Esc】即可退出编辑模式。

命令行模式:

输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的!

操作

一般模式

移动光标 【h、j、k、l】,分别控制光标左、下、上、右移一格

编辑模式

【i, I】 进入编辑模式:

i 为【从目前光标所在处插入】

I 为【在目前所在行的第一个非空格符处开始插入】

【a, A】 进入编辑模式(Insert mode):

a 为【从目前光标所在的下一个字符处开始插入】

A 为【从光标所在行的最后一个字符处开始插入】

【o, O】 进入编辑模式:

o 为【在目前光标所在的下一行处插入新的一行】

O 为在目前光标所在处的上一行插入新的一行

【r, R】 进入取代模式:

r 只会取代光标所在的那一个字符一次

R会一直取代光标所在的文字,直到按下 ESC 为止;

【Esc】 退出编辑模式,回到一般模式

命令行模式

【:w】 保存编辑的内容

【:w!】强制写入该文件,但跟你对该文件的权限有关

【:q】 离开vi

【:q!】 不想保存修改强制离开

【:wq】 保存后离开

【:x】 保存后离开

【ZZ】 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

上述解决方案的操作如下

首先在一般模式下按j往下搜寻,随便找空的一行。然后按下i,进入编辑模式。接着输入c.NotebookApp.allow_remote_access = True,然后按下键盘的ESC回到一般模式,接着按下
:wq,即保存后离开即可。在anaconda环境下输入jupyter lab即可正常进入。

你可能感兴趣的:(操作系统)