Jupyter Lab 应用程序具有漂亮的终端和浏览器内终端外壳,支持颜色、导航键和终端应用程序的几乎所有标准功能。在这个问题中,我的意思是/lab
应用程序,而不是经典的 Notebook ( /tree
) 应用程序。
如果我使用这个Docker 映像启动 Jupyter 服务器,它会很好用。我需要建立自己的形象,最好不要以此为基础。我只是按照记录来做:
docker run -it --rm -p 8888:8888 -v "$PWD":/jupyter python:3.8 bash
# pip install jupyterlab
# jupyter lab --config=/jupyter/jupyter_notebook_config.py
以上假设我jupyter_notebook_config.py
在当前目录中有一个:
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = 8888
c.NotebookApp.password = 'sha1:<salt>:<hash>'
c.NotebookApp.allow_password_change = False
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
一切正常,但终端性能很差,它不支持颜色和发送代码(如^[[A
, ^[[B
)而不是箭头键。对Dockerfile的逐行调查并不是那么令人兴奋的努力,可能有人可以指出我所缺少的东西吗?
编辑:我对颜色有点错误(被jupyter/base-notebook
图像中的默认绿色提示混淆)和整体问题描述。根本原因是在我的镜像中启动的 shellsh
在官方镜像中是bash
. 但尽管如此,终端并没有完全发挥作用,例如,如果我启动 nano,它只会在 80x25 字符区域开始,并且不会延伸到终端的实际大小)。箭头虽然在纳米中工作。