wsl中使用jupyter-lab

wsl安装完成直接使用jupyter-lab,会出现无法自动打开浏览器,即使打开浏览器也会出现“找不到文件”的问题,这篇记录一下如何完美解决这些问题。


[TOC]

安装jupyter-lab

其实直接安装anaconda3就可以了,具体请参考这里


使用jupyter-lab

打开wsl,键入 jupyter lab 就可以了。

jupyter lab

这时候我们虽然不能正常的跳转浏览器打开,但可以看到对应的链接,ctrl+鼠标左键点击就可进入正确的界面了。

解决自动跳转问题

1.找到浏览器的位置

  • 点开快捷方式的属性,复制“目标位置”中的路径

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

在wsl中找到该位置,其实就是在将该路径转换成linux中的路径

注意:所有的空格或者符号前都需要加防转义符‘\’

如果和我的路径一样,直接复制下面即可

/mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe
  • wsl中键入下面命令尝试访问,如果能正确的打开浏览器,说明路径是对的
/mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe "https://liuyang0001.github.io/"
  • 这个路径太长了,而且手打起来很麻烦,所以我们建立一个软连接
sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe /usr/bin/chrome
  • 验证软连接是否成功,看能否成功驱动浏览器
chrome https://liuyang0001.github.io/

2.编辑jupyter配置文件

  • 首先我们先生成默认配置文件
jupyter notebook --generate-config
  • 打开配置文件,更改浏览器的驱动路径
nano ~/.jupyter/jupyter_notebook_config.py

编辑器这里推荐使用nano,因为可以很方便的进行搜索等操作,当然vim也可以

我们直接在文件的最后面,加上下面这段代码:

## 自定义浏览器
import webbrowser
webbrowser.register('chrome',None,webbrowser.GenericBrowser('/usr/bin/chrome'))
c.NotebookApp.browser = 'chrome'
# --------------------------------------------------

nano操作:Ctrl+O保存,确认,Ctrl+X退出

  • 运行jupyter lab 尝试,发现浏览器已经可以正常打开了,但是会出现找不到文件的情况:

这是由于WSL使用重定向文件启动浏览器可能会导致浏览器无法加载。【浏览器之间的文件结构/路径不同】

所以需要设置禁用重定向,从而允许浏览器使用URL和可见标记启动。

  • 设置禁用重定向

重新打开刚才的配置文件

nano ~/.jupyter/jupyter_notebook_config.py

Ctrl +W进行搜索c.NotebookApp.use_redirect_file, 并该项设为False

  • 保存退出,重新打开jupyter lab就已经可以正常运行了

Enjoy it !

-------------本文结束感谢您的阅读-------------