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也不迟。
以下为安装步骤:
-
pip install jupyter notebook
-
jupyter notebook --generate-config
- 这一步会生成一个jupyternotebook的配置文件文件位置在(如果是root用户登录):’/root/.jupyter/jupyter_notebook_config.py’
-
jupyter notebook password # 这里会要求你输入并确认密码,回车之后,最后会返回3-1的那段话
- [NotebookPasswordApp] Wrote hashed password to root/.jupyter/jupyter_notebook_config.json
- vim /root/.jupyter\jupyter_notebook_config.json
- 复制里面单引号的乱码,那个就是加密后的密码
-
设置你windows电脑的浏览器能打开jupyternotebook
- 我这里安装的是EDGE DEV版本的浏览器,Windows中路径为
C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe
- 那么在WSL2的Ubuntu里面,这个路径就是:
/mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge\ Dev/Application/msedge.exe
,可以在Ubuntu里面不断TAB补全路径试一下,其中路径中的空格和括号()在输入之前都要打一个反斜杠\,才能行得通 - 创建软连接:
ln -sf /mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge\ Dev/Application/msedge.exe /usr/bin/msedge
- 上面这三个小的三步完成之后,再在Ubuntu终端里直接输入msedge能直接打开你的Windows的EDGE DEV浏览器
- 我这里安装的是EDGE DEV版本的浏览器,Windows中路径为
-
vim /root/.jupyter/jupyter_notebook_config.py
(打开这个文件搜索文件的内容按如下步骤修改,VIM里面命令模式(:/XXX)是搜索,比如我想搜字符串2021,那我就可以转到命令模式(就是有冒号的那个模式),然后输入/2021,再Enter,n是下一个,N是上一个)- c.NotebookApp.ip = ‘*’
- c.NotebookApp.allow_remote_access = True # 允许远程访问
- c.NotebookApp.allow_root = True # 允许root用户登录
- c.NotebookApp.notebook_dir = ‘/root/Projects’ # 里面的文件夹可以自定义为自己想要的项目文件夹
- c.NotebookApp.use_redirect_file = False
- c.NotebookApp.password = ‘此处填写3-2-1步骤生成的password’
- 把Windows的EDGE DEV作为Ubuntu的默认浏览器
- import webbrowser
- webbrowser.register(‘msedge’,None,webbrowser.GenericBrowser(’/usr/bin/msedge’))
- c.NotebookApp.browser=‘msedge’
- 换命令模式 wq!退出
-
输入jupyter notebook 此时你的EDGE DEV浏览器会访问localhost:8888/tree,这里我配置的时候显示
当日晚上更新:不知道怎么回事又可以了不用再输入IP地址,太莫名其妙了
这里我也不知道为啥,有知道的欢迎告知。
我的解决办法就是再ubuntu终端里面输入ifconfig查看当前WSL的ip地址,比如我的是
那么就把localhost换成IP地址172.27.118.134就行了,如下图就可以访问了(密码输入第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,复选框选择哪个就是激活哪个