配置jupyter远程访问

  • 生成配置文件
jupyter notebook --generate-config --allow-config
  • 允许远程访问
c.NotebookApp.ip='*'
  • 设置密码
from notebook.auth import passwd
passwd()
Enter password:
Verify password:
'argon2:$argon2id$v=19$m=10240,t=10,p=8$wLvn9j4SchZazAnfllMEcA$XI6jNtzZx8LpOOY9L8oR0A'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
  • 关闭自动打开浏览器
c.NotebookApp.open_browser = False
  • 指定远程访问端口,默认是8888
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口
  • 后台挂起jupyter服务
nohup jupyter notebook &

解决anaconda多环境EnvironmentLocationNotFound: Not a conda environment: /home/sairo/.conda/envs/anaconda3

原因
之前版本conda是envs=[],而4.4版本之后envs=[root_env_dir],然而这个目录通常并不是空的,官方可能在后续的更新中解决这个问题。
解决方法

  • 进入/opt/anaconda3/pkgs/nb_conda-2.2.1-py38_1/lib/python3.8/site-packages/nb_conda/(根据版本可能会有不同)
  • 打开envmanager.py文件
    查找这一句:(大概第83行)
return {
    "environments": [root_env] + [get_info(env)
                                  for env in info['envs']]
}

改成:

return {
    "environments": [root_env] + [get_info(env) for env in info['envs']
                                  if env != root_env['dir']]
}