搭建一个jupyter服务器让你在线写Python

Posted 但老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建一个jupyter服务器让你在线写Python相关的知识,希望对你有一定的参考价值。


一 需求

买了一台云服务器,想用来坐点什么,发现可以搭建在线代码环境,随时随地,打开网页写代码

需要用到jupyter,这已经不仅仅是一个Python模块了,它更是一个服务,一个概念
我的环境是

  • 腾讯云服务器(公网IP)
  • CentOS7.9
  • Python3.7

二 安装

依赖项

需要提前安装Python模块

pip install tornado
pip install jupyter

命令都在终端输入

1 创建项目文件夹

我的目录是在这里,后续需要写入配置文件

mkdir /home/danzhao/jupyter

不创建在配置的时候会报错

2 设置加密密码

要不然进不去.我就随便设置了一串数字,然后进不去
设置密码需要在Python环境中设置

from notebook.auth import passwd
passwd()

接下来会提示你输入两次密码,就OK了

Enter password:
Verify password:

输入完毕会返回一串加密字符串,我返回的和官网案例的sha1不一样,是类似这样的

'argon2:$argon2id$v=19$m=10240,t=10,p=8$asodjfipasjdfpojasdpf$lfU/sauf0asjd0fjas'

复制一下,后面配置要用

3 配置文件

jupyter notebook --generate-config

它返回了一个地址,告诉我生成文件在
/root/.jupyter/jupyter_notebook_config.py
可以用软件可视化修改配置文件,也可以vi修改

vi /root/.jupyter/jupyter_notebook_config.py

配置放在后面,因为需要设置密码

官方提示需要ssl配置,这样可以https访问.我们没有必要进行这一步,直接跳过ssl配置
必要设置项如下

c.NotebookApp.ip = '*' 	# 看说明是jupyter的白名单IP的意思
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$asodjfipasjdfpojasdpf$lfU/sauf0asjd0fjas'	# 第2步创建的密码
c.NotebookApp.notebook_dir = '/home/danzhao/jupyter'	# 第1步创建的文件夹
c.NotebookApp.open_browser = False
c.NotebookApp.port = 1234	# 这里就是你要访问的端口,需要在服务器放行

配置完保存


三 启动

在终端启动即可

jupyter notebook

有些会提示需要--allow-root,加入即可

jupyter notebook --allow-root

会和Web一样启动服务
如果需要在关闭终端后继续运行

nohup jupyter notebook --allow-root

这样你就可以关闭终端,自由在网页上写Python了

四 登录

假设你的公网IP是123.123.123.123,那么在浏览器输入设置的端口就可以访问了

我的是这样,输入密码登录

登录进来长这样.英文UI,对国内不是很友好.下一步想办法汉化最好,虽然我英文也能看懂

尝试在New这里新建了一个Python文件跑跑

完美!大功告成

我看到后面还有一个Clusters,也给装上了,虽然我自己不怎么用


五 限制

  • jupyter server仅限单用户使用
    多用户模式需要JupyterHub,并且目前还仅支持Ubuntu,我的CentOS还不支持
  • 英文版
    这个也算限制吧,不太友好

以上是关于搭建一个jupyter服务器让你在线写Python的主要内容,如果未能解决你的问题,请参考以下文章

服务器上搭建Jupyter Notebook服务

在线Jupyter平台,验证手机号可免费使用

在服务器搭建Jupyter notebook

开发工具 | 你真的会用jupyter吗?

手把手教你搭建远程Jupyter Notebook

上云第1期访问云上的 jupyter 环境(保姆级搭建教程)