anaconda配置远程访问jupyter,并创建虚拟环境

因为实验室服务器已经配置好anaconda 4(anaconda3以后内置jupyter lab,所以不需要另外安装jupyter),所以没有配置的可以找一下配置教程。

整个过程为:配置jupyter lab 远程登录环境–>服务器端开启jupyter lab–>浏览器登录–>创建新的虚拟环境

生成配置文件

[root@xxxx ~]$ jupyter notebook --generate-config
Writing default config to: /root/.jupyter/jupyter_notebook_config.py

记住配置文件的位置,后面需要修改配置文件

创建访问密码

[root@xxxx ~]$ jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /home/jpnb/.jupyter/jupyter_notebook_config.json

用户登录jupyter lab的密码

获取访问密码的hash码

先进入ipython,用于生成hash

[root@xxxx ~]$ Ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]:'sha1:xxxxxxxx'

记住,这个hash密码,后面会写入之前生成的配置文件中,这样可以方便浏览器第一次登录后,以后登录不需要再输入密码。

修改配置文件

修改刚刚生成的jupyter_notebook_config.py文件

[root@xxx ~]$ vim /home/wuzhq/.jupyter/jupyter_notebook_config.py

修改下面几个部分

c.NotebookApp.password = u'sha1:xxxxxx'
#就是刚才需要记下的哈希密码

c.NotebookApp.port = 8888  
#指定jupyter lab 运行端口,写一个不冲突的端口即可  

c.NotebookApp.allow_remote_access = True
# 允许远程访问 

c.NotebookApp.ip='*'  
# 就是设置所有ip皆可访问  

c.NotebookApp.open_browser = False
# 禁止自动打开浏览器  

服务器端开启jupyter lab

下面两个命令都可以,最后一个可以将进程挂起到后台运行

[root@centos-7 ~]$ jupyter lab     #窗口运行,窗口一关,进程停止

[root@centos-7 ~]$ nohup jupyter lab > /home/wuzhq/.jupyter/jupyter.log2>&1 & #服务器端后台挂起运行

注意:如果是局域网服务器可以通过ifconfig查看网卡的ip。
如果没法访问可以关闭下防火墙,云服务器记得去控制台的安全组开放端口访问。

客户端登录

在浏览器中数据ip:8888,就可以访问。

anaconda配置远程访问jupyter,并创建虚拟环境_第1张图片

创建多个虚拟环境,并在jupyter中显示,即多个jupyter kernel

anaconda配置远程访问jupyter,并创建虚拟环境_第2张图片
接下来的流程为:conda创建虚拟环境–>安装包,以在jupyter中可以显示虚拟环境并可以切换–>重启服务器端jupyter lab

创建虚拟环境

[(base) root@xxxx ~]$ conda create -n tf1.12 python=3.6.5  #创建虚拟环境

配置虚拟环境使可以在jupyter中显示

如果不配置在jupyter浏览器端会看不到Anaconda中装的其他虚拟环境,是因为虚拟环境中缺少kernel.json文件

[(tf1.12)root@xxxx ~]$ conda activate test  #进入虚拟环境

[(tf1.12)root@xxxx ~]$ conda install -n tf1.12 ipykernel #在虚拟环境下创建kernel

[(tf1.12)root@xxxx ~]$ source activate tf1.12

[(tf1.12)root@xxxx ~]$ python -m ipykernel install --user --name tf1.12 --display-name "KGAT-tf1.12"  #将该虚拟环境写进notebookde的kernel中,displayname是在jupyter浏览器中显示的名字

重新启动jupyter lab

因为之前用的是后台挂起运行jupyter lab,即nohup command &,命令运行jupyter lab服务,所以需要找一下这个服务的进程id,kill掉再重新运行即可。

[(tf1.12)root@xxxx ~]$ deactivate #先退出虚拟环境

[(base)root@xxxx ~]$ ps -aux | grep "jupyter-lab" #找到对应名字进程
	wuzhq    39207  0.1  0.0 1045048 64012 pts/0   Sl   07:59   0:03 /usr/local/anaconda3/bin/python3.7 /usr/local/anaconda3/bin/jupyter-lab
	wuzhq    42397  0.0  0.0  13136   992 pts/0    S+   08:57   0:00 grep --color=auto jupyter-lab

[(base)root@xxxx ~]$ kill 39207  #可以从上句的输出中的进程运行命令看到第一个是要杀掉的进程

[(base)root@xxxx ~]$ nohup jupyter lab > /home/wuzhq/.jupyter/jupyter.log2>&1 &  #再重新跑一下jupyter-lab服务

就可以看到浏览器中已经可以显示了

anaconda配置远程访问jupyter,并创建虚拟环境_第3张图片

大功告成,可以在虚拟环境中安装一些特定框架需要的包和版本

你可能感兴趣的:(机器学习,jupyter,centos,ssh,机器学习入门,anaconda)