1、前提条件:完成jupyter notebook安装
2、生成密码
python3.7
>>from notebook.auth import passwd
>>passwd() #输入密码后得到生成的密文,复制密文
3、生成配置文件
jupyter notebook --generate-config #生成默认配置文件
4、修改配置文件
vi ~/.jupyter/jupyter_notebook_config.py #打开上一步生成的配置文件,修改下面几行内容
c.NotebookApp.password = 'sha1:<your-sha1-hash-value>'
c.NotebookApp.port = 8888
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
c.NotebookApp.notebook_dir = '/home/pi/web_notebooks'
注意:如果notebook为5.6.0以下版本,c.NotebookApp.ip = '*',为5.7.0,则设置为c.NotebookApp.ip = '0.0.0.0'
5、放开8888端口
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo systemctl restart firewalld.service
6、中间出现的错误,参见第4点的注意项
Traceback (most recent call last):
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 869, in _default_allow_remote
addr = ipaddress.ip_address(self.ip)
File "/usr/local/python370/lib/python3.7/ipaddress.py", line 54, in ip_address
address)
ValueError: '' does not appear to be an IPv4 or IPv6 address
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/python370/bin/jupyter-notebook", line 11, in <module>
sys.exit(main())
File "/usr/local/python370/lib/python3.7/site-packages/jupyter_core/application.py", line 266, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/usr/local/python370/lib/python3.7/site-packages/traitlets/config/application.py", line 657, in launch_instance
app.initialize(argv)
File "<decorator-gen-7>", line 2, in initialize
File "/usr/local/python370/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 1629, in initialize
self.init_webapp()
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 1379, in init_webapp
self.jinja_environment_options,
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 158, in __init__
default_url, settings_overrides, jinja_env_options)
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 251, in init_settings
allow_remote_access=jupyter_app.allow_remote_access,
File "/usr/local/python370/lib/python3.7/site-packages/traitlets/traitlets.py", line 556, in __get__
return self.get(obj, cls)
File "/usr/local/python370/lib/python3.7/site-packages/traitlets/traitlets.py", line 535, in get
value = self._validate(obj, dynamic_default())
File "/usr/local/python370/lib/python3.7/site-packages/notebook/notebookapp.py", line 872, in _default_allow_remote
for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
File "/usr/local/python370/lib/python3.7/socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known