});

jupyter lab on win10

Highlight: Solved the jupyter lab using ServerApp rather than Notebook settings issue. [github issue #5970 #437]
解决了jupyter lab 3.0.14 配置时ServerApp, Notebook等文件设置优先级问题。

210707得新server一台,配置miniconda python-3.9-jupyter环境时,因为jupyte_server的加入,整个结构变得混乱,在此记录下。

jupyter lab安装

Miniconda的下载安装不赘述。
在安装好的shell中输入下列语句安装

jupyter的依存关系

在安装间隙,讲解下conda、sever、lab、notebook、python的关系:

  • python为核心,在其之上还有一个简单包装-ipython(interactive python)
    除了没有web界面,ipython已经具备了notebook的所有核心功能。
  • notebook在ipython基础上增加基于web的GUI,界面相对简单,没有侧面的导航栏和丰富的插件管理器
  • 新版本的jupyter lab在安装时还会自带jupyter server,此前是jupyter lab的插件之一,目前来看**只负责转发和协调各类端口转发**,日后可能还会具备多用户协作功能。
  • 上述的三种jupyter软件(notebook, lab, server) 均为python的库。
    三者间的依存关系是后文冲突频发的重要原因。
    可以简单理解为,notebook负责写,lab协调各notebook,server则只是转发。
  • conda是一款环境environment和包package管理器,类似虚拟机平台vmware等,负责创建虚拟环境以及安装各种包时自动搜寻补充关联包。
    通过conda可以制造其他虚拟环境实现不同版本的python共存。

jupyter lab配置

需要先生成配置文件,这里注意生成的是notebook的配置文件
新版本会自动传递notebook的配置文件给lab和server,这一看似方便的举动,造成了网上频发错误和疑惑
即使在官方区也有存在疑问
如篇首提及的:
https://github.com/jupyter/notebook/issues/5970
https://github.com/jupyter-server/jupyter_server/issues/437

和linux中配置类似,首先生成password
生成时一定要注意,虽然 notebook配置文件中提示用notebook.auth生成,但是因为最终notebook会将该命令传递给lab。

再修改下述两项即可完成配置,本地运行只需访问localhost:8888

环境(env)/内核(kernel)的安装与卸载

首先进入对应环境中

带日志启动与静默运行

将日志记录在jupyter lab 根目录下,可在web端进行trouble shooting
也可以不打开浏览器

其他可能的报错与解决

nodejs缺失

jupyter 启动时cmd中返回如下图

可能是nodejs未安装或版本过低,用conda安装即可

Unicodeescape

出现这类情况多半是路径前忘加上 r”
导致被转译为正则表达式。
更改路径设置为 r’C:/####’即可

各种包下载缓慢或终端

该问题在按照pytorch官网指示,复制代码配置时出现下载终端,或大小不匹配。
因为pytorch包较大,pytorch和cuda包一起大约2.8GB,
国内连接(包括香港地区)很慢,用清华tuna库不支持最新版python 3.9更新
本次解决方法是修改conda的重连和断连参数,避免连接不稳定时引发的中止
其他修改方案可以【参考CSDN】

配置powershell可进行env切换

采用jupyter lab远程连接时,默认进入PS。无法直接用conda切入对应环境进行包的安装等其他配置操作。
参考https://blog.csdn.net/qq_38163755/article/details/88144767
按如下代码设置

补充:也可以采用cmd直接写入环境变量

jptlb环境配置 (针对>jupyter lab v3.0 & python3.9)

安装sklearn后,发现jupyter内载入提示package not found
但本地切换环境后再cmd/bash内运行python时则一切正常
表明问题在于jupyter无法载入环境
经查是ipykernel 对于 python3.9支持较差
目前采用conda forge源中的nb_conda_kernels进行环境切换
安装后即可自动检测所有的conda环境,无需再使用ipykernel等安装
安装代码如下:

最新了解到,jupyter lab v3.0 后将notebook独立出来包装为ServerApp,这可能也是无法使用pykernel的原因之一,各个环境下似乎没有在安装jupyter notebook。在子环境查询jupyter –version,返回jupyter notebook not installed.
具体原因尚不明确,待探究。

相关链接

关于jupyter的基本操作,如环境与包管理,可阅读:
centos7配置jupyter lab (python-3.7)
关于远程访问jupyter服务(可能需要密码访问):
将win10系统电脑转换为服务器

展望

查询config时,发现有SSL设置。
后续尝试下HTTPS协议,和frp转发。