[DL021] WSL2下jupyter notebook安装及多虚拟环境的配置

1.jupyter notebook安装

1.1 本文档适用的情况

  • Windows10环境已安装WSL2下的Ubuntu20.04
  • WSL2
    • Ubuntu20.04(没桌面的那种)
    • python3.8.5
    • pip 20.0.2

折腾的原因:

  • 放假学校服务器断电
  • 安装虚拟机 用CPU跑太慢了,经常会莫名的kernel died,又听说WSL2支持连接GPU了,因此打算从虚拟机的CentOS7转WSL2的Ubuntu20.04

1.2 Jupyternotebook安装流程

PS:这里推荐安装jupyter notebook而非jupyter lab,因为笔者用过jupyter lab,其安装扩展十分麻烦。先用熟练了jupyter notebook,再转jupyter lab也不迟。

以下为安装步骤:

  1. pip install jupyter notebook

  2. jupyter notebook --generate-config

    1. 这一步会生成一个jupyternotebook的配置文件文件位置在(如果是root用户登录):’/root/.jupyter/jupyter_notebook_config.py’
  3. jupyter notebook password # 这里会要求你输入并确认密码,回车之后,最后会返回3-1的那段话

    1. [NotebookPasswordApp] Wrote hashed password to root/.jupyter/jupyter_notebook_config.json
    2. vim /root/.jupyter\jupyter_notebook_config.json
      1. 复制里面单引号的乱码,那个就是加密后的密码
  4. 设置你windows电脑的浏览器能打开jupyternotebook

    1. 我这里安装的是EDGE DEV版本的浏览器,Windows中路径为C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe
    2. 那么在WSL2的Ubuntu里面,这个路径就是:/mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge\ Dev/Application/msedge.exe,可以在Ubuntu里面不断TAB补全路径试一下,其中路径中的空格和括号()在输入之前都要打一个反斜杠\,才能行得通
    3. 创建软连接:ln -sf /mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge\ Dev/Application/msedge.exe /usr/bin/msedge
    4. 上面这三个小的三步完成之后,再在Ubuntu终端里直接输入msedge能直接打开你的Windows的EDGE DEV浏览器
  5. vim /root/.jupyter/jupyter_notebook_config.py (打开这个文件搜索文件的内容按如下步骤修改,VIM里面命令模式(:/XXX)是搜索,比如我想搜字符串2021,那我就可以转到命令模式(就是有冒号的那个模式),然后输入/2021,再Enter,n是下一个,N是上一个)

    1. c.NotebookApp.ip = ‘*’
    2. c.NotebookApp.allow_remote_access = True # 允许远程访问
    3. c.NotebookApp.allow_root = True # 允许root用户登录
    4. c.NotebookApp.notebook_dir = ‘/root/Projects’ # 里面的文件夹可以自定义为自己想要的项目文件夹
    5. c.NotebookApp.use_redirect_file = False
    6. c.NotebookApp.password = ‘此处填写3-2-1步骤生成的password’
    7. 把Windows的EDGE DEV作为Ubuntu的默认浏览器
      1. import webbrowser
      2. webbrowser.register(‘msedge’,None,webbrowser.GenericBrowser(’/usr/bin/msedge’))
      3. c.NotebookApp.browser=‘msedge’[DL021] WSL2下jupyter notebook安装及多虚拟环境的配置_第1张图片
    8. 换命令模式 wq!退出
  6. 输入jupyter notebook 此时你的EDGE DEV浏览器会访问localhost:8888/tree,这里我配置的时候显示
    当日晚上更新:不知道怎么回事又可以了不用再输入IP地址,太莫名其妙了

[DL021] WSL2下jupyter notebook安装及多虚拟环境的配置_第2张图片

这里我也不知道为啥,有知道的欢迎告知。

我的解决办法就是再ubuntu终端里面输入ifconfig查看当前WSL的ip地址,比如我的是

那么就把localhost换成IP地址172.27.118.134就行了,如下图就可以访问了(密码输入第3大步设置的密码)。

[DL021] WSL2下jupyter notebook安装及多虚拟环境的配置_第3张图片

因此这里就每次打开电脑都要看一下电脑的IP,再打开jupyter notebook,权宜之计,有知道如何固定WSL的ip的或者知道如何解决的可以交流一下。

2 多虚拟环境下jupyter notebook的配置

在这之前可以进行apt换源,pip换源的操作,详情BING搜一下就可以了。

这里不推荐安装virtualenvwrapper,一切为了降低学习成本,而且安装了jupyter notebook之后也不需要频繁激活虚拟环境。

pip install virtualenv 
# 在/root(这里笔者以root用户登录的)文件夹下新建一个Virtualevs的文件夹用来存放虚拟环境
mkdir /root/Virtualenvs
cd /root/Virtualenvs
# 建立虚拟环境名字为‘tensorflow’
virtualenv -p /usr/bin/python3.8 tensorflow
# 激活虚拟环境配置jupyter notebook
source /root/Virtualenvs/tensorflow/bin/avtivate
# 这里终端应该是类似(tensorflow)...# 这种的形式,就说明进入到了虚拟环境,可以pip list查看一下安装的包,应该是 之后setuptools什么的
pip install ipykernel
python -m ipykernel install --name tensorflow(这里是实际的虚拟环境的名字) --display-name tensorflow(这里是你想要显示的名字)
# 或下边这句
python -m ipykernel install --user 
# 再打开jupyter notebook之后就可以在new那里看到新建的虚拟环境了
jupyter notebook
# 而且这样之后即使deactivate虚拟环境之后,在基础的那个环境里面打开jupyter notebook之后也可以选择虚拟环境

扩展安装

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
# 这之后就可以看到Nbextension,复选框选择哪个就是激活哪个

[DL021] WSL2下jupyter notebook安装及多虚拟环境的配置_第4张图片

你可能感兴趣的:(日常学习,linux,ubuntu)