这里写目录标题
- 前言
- 在WSL下的配置
- 测试运行
- 更优雅的启动方法
- 配置jupyter
- 生成默认配置文件
- 生成秘钥
- 修改配置文件
- nohup启动
前言
一直都使用jupyter notebook,不管做数据分析,还是调试代码,还有写文章都是。但是好像在WSL下又不好使。看了网上有很多方法都不好使。但还是受不了jupyter notebook的好。好在Windows下的一直可以用。
在WSL下的配置
其实我的电脑系统之前是Windows 10的,虽然是WSL2,但折腾了久还是不行。不过今天装了Windows 11,还是WSL2,不过这个WSL2跟Windows 10的好像不一样,这个WSL2支持GUI。没错,是支持GUI。
其实非常简单,把anaconda 安装好后,配置好python环境。然后再安装一个firefox,就OK了。真的就一行代码就OK了(我这里其实就是这样)。
sudo apt install firefox
一直回车,等待安装完成。如下图,就安装完成了。
然后就是打开jupyter notebook,终端下输入如下代码
jupyter-notebook
你会看如jupyter notebook的启动
然后会自动跳转到firefox打开。如果不能跳转,请自行复制链接在浏览器打开(firefox)。看到我们一直熟悉的界面。
测试运行
随便新建一个notebook
随便来点代码测试一下,是否OK
import os
import numpy as np
import torchtorch.cuda.is_available()
np.random.randn()
运行如下图所示,可以看到cuda也可以用了。爽歪歪
更优雅的启动方法
虽然可以自动启动,觉得以上的方法也不太优雅。下面讲讲更优雅的启动方法吧。
大体方法是:配置jupyter + nohup
配置jupyter
生成默认配置文件
jupyter notebook --generate-config
将会在用户主目录下生成.jupyter文件夹,其中jupyter_notebook_config.py就是刚刚生成的配置文件
生成秘钥
在终端输入 ipython,进入ipyhon命令行
输入
In [1]: from notebook.auth import passwdIn [2]: passwd()
这里要求你输入以后登录使用的密码,然后生成一个秘钥,记得保存好秘钥,以免丢失。
Enter password:
Verify password:
Out[2]: 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'
修改配置文件
修改用户主目录下~/.jupyter/jupyter_notebook_config.py
文件
取消c.NotebookApp.password = ‘’"注释,并将生成的秘钥复制进去
c.NotebookApp.password = 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'
取消下面几项注释,并注释修改ip、端口、不自动打开浏览器
c.NotebookApp.ip='*'#×允许任何ip访问
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 #可自行指定一个端口, 访问时使用该端口
如果是比较老的jupyter notebook版本还会有 allow_remote_access之类的一个设置,记得改成True并取消注释。
大功告成
nohup启动
打开WSL,进行入到终端,输入
nohup jupyter notebook& # 注意&不能省略,&才能在后台运行
运行上一条命令后,会返回一个PID。
在本地浏览器输入localhost:8888
。成功远程访问服务器的jupyter notebook,只要第一次输入密码就OK了。后面就不用再输入了。
使用了nohup 后,可以把WSL关闭,也不影响jupyter的使用。