Jupyter的几个设置
在前面的文章中介绍了Jupyter,但在进一步的使用中,发现一些需要设置/安装/配置的选项,比如:如何禁用默认的Terminal窗口,如何让多个用户使用Jupyter,如何在Jupyter中使用Turtle画图等。下面总结如下。
禁用terminal
在默认情况下,打开Jupyter窗口后,可以新建一个终端窗口。在终端窗口中可以运行各种Linux命令。在终端窗口中使用的是运行Jupyter的用户,因此具有和该用户同样的权限。因此,如果打算和别人分享Jupyter,最好不要用权限过大的用户运行Jupyter,同时应该禁用终端窗口。不过,严格的讲,这并不能阻止恶意用户运行Linux命令,只要能运行Python脚本,就会有多种方式达到这个目的。但系统安全是一个渐进的过程。至少对于不太熟悉Linux的用户,如果一不小心进入终端窗口,再一不小心误删了文件,不也麻烦吗?
要想禁止Linux终端窗口,可以在Jupyter的配置文件(用户根目录下.jupyter/jupyter_notebook_config.py)中添加一行就可以了:
c.NotebookApp.terminals_enabled = False
可以看到,终端已经被禁用。
在Jupyter中设定多个账号
默认的配置文件在/home/USERNAME/.jupyter/jupyter_notebook_config.py中。其初始设置非常简单:
c.NotebookApp.allow_origin = '*' #allow all origins
c.NotebookApp.ip = '0.0.0.0' # listen on all IPs
如果想要多个用户共同使用Jupyter,可以为这些用户设置不同的端口,密码,和工作目录。比如:可以创建配置文件:/home/USERNAME/.jupyter/user1_config.py:
c.NotebookApp.allow_origin = '*'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.terminals_enabled = False
c.NotebookApp.port = 8890
c.NotebookApp.notebook_dir = '/home/user1/jupyter_notes'
在运行Jupyter的时候指定配置文件:
jupyter notebook --config /home/user1/.jupyter/user1_config.py
依次类推,可以为不同用户创建不同的配置文件,这样就可以彼此之间互不干扰了。
在Jupyter中进行Turtle编程
一直在使用Python Turtle教孩子编程。最近感觉Jupyter特别适合教学,那么怎样在Jupyter中使用Turtle呢?答案是mobilechelonian。
首先在Notebook中安装依赖库并进行测试(当然,也可以在终端的命令行窗口中进行):
!pip install mobilechelonian
!pip install matplotlib
import numpy as np
import matplotlib.pyplot as plt
from mobilechelonian import Turtle
from mobilechelonian import prepare_js
prepare_js()
运行以上代码就会安装mobilechelonian。接下来就可以使用Turtle来画图了:
from mobilechelonian import Turtle
t = Turtle()
t.speed(5)
t.pencolor("blue")
for i in range(4):
t.left(90)
t.forward(60)
拍手👏