1. 安装 Jupyter Notebook
由于国内访问官方 Python 包源较慢,我们将使用清华大学的镜像源加速安装过程。
1.1 配置清华镜像源
首先,在安装 Jupyter 之前,建议将 pip 配置为使用清华大学的镜像源,这样可以加速 Python 包的下载速度。创建或编辑 pip 配置文件(~/.pip/pip.conf 或 C:\Users<用户名>\pip\pip.ini)并添加以下内容:
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
1.2 安装 Jupyter Notebook
通过清华镜像源安装 Jupyter Notebook:
pip install notebook -i https://pypi.tuna.tsinghua.edu.cn/simple
1.3 验证安装
安装完成后,在终端中输入以下命令来检查 Jupyter 是否安装成功:
jupyter --version
如果安装成功,命令会输出 Jupyter 的版本号。
2. 配置并启动 Jupyter 外网访问
默认情况下,Jupyter Notebook 只能在本地访问,我们需要将其配置为可以从外网访问。
2.1 生成 Jupyter 配置文件
通过以下命令生成 Jupyter 的配置文件:
jupyter notebook --generate-config
这将在用户的家目录下生成一个 .jupyter 文件夹,其中包含 jupyter_notebook_config.py 配置文件。
2.2 设置监听外网 IP
打开生成的 jupyter_notebook_config.py 文件。你可以使用文本编辑器打开,或者直接用命令行编辑:
nano ~/.jupyter/jupyter_notebook_config.py
找到并修改以下配置:
python
c.NotebookApp.ip = '0.0.0.0'
将 localhost 修改为 0.0.0.0,这样 Jupyter 就可以监听所有的网络接口,从外网也能访问。
2.3 设置密码
为了防止未经授权的访问,建议为 Jupyter Notebook 设置密码。你可以使用以下 Python 命令生成密码哈希:
from notebook.auth import passwd
passwd()
输入你想设置的密码,系统会返回类似以下的哈希值:
makefile
sha1:abcdef1234567890abcdef1234567890abcdef12
将这个哈希值复制并粘贴到 jupyter_notebook_config.py 配置文件中,找到以下行并取消注释,填入哈希值:
c.NotebookApp.password = 'sha1:abcdef1234567890abcdef1234567890abcdef12'
2.4 设置端口(可选)
如果你希望 Jupyter 使用不同的端口,可以修改以下配置:
c.NotebookApp.port = 8888
如果端口 8888 已经被占用,改成其他端口号(如 8899 等)。
2.5 启动 Jupyter Notebook
完成配置后,执行以下命令启动 Jupyter Notebook:
jupyter notebook --no-browser --port=8888
这时,Jupyter Notebook 会监听 8888 端口,并且不会自动在浏览器中打开。你可以通过浏览器访问 http://:8888 来打开 Jupyter Notebook。
2.6 配置防火墙(如果适用)
如果你在云服务器上运行 Jupyter Notebook,确保防火墙已开放 8888 端口。以 Ubuntu 为例,可以使用以下命令:
sudo ufw allow 8888
对于其他操作系统,请参考相应的文档来开放端口。
3. 一键启动 Jupyter Notebook 并映射到外网
你可以使用以下命令一键启动 Jupyter Notebook 并映射到外网:
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --NotebookApp.password='sha1:abcdef1234567890abcdef1234567890abcdef12'
参数说明:
–ip=0.0.0.0:将 Jupyter 绑定到所有网络接口,使其可以从外网访问。
–port=8888:指定端口号,默认是 8888。如果你希望使用其他端口号,可以修改为 --port=8899 等。
–no-browser:启动时不自动打开浏览器(在远程服务器上运行时非常有用)。NotebookApp.password='sha1:abcdef1234567890abcdef1234567890abcdef12':
设置访问 Jupyter 的密码哈希。
简单的版本:
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser
4. 使用 SSH 隧道(可选)
如果你不想直接暴露 Jupyter Notebook 到外网,可以使用 SSH 隧道进行安全访问。假设你的 Jupyter Notebook 在远程服务器上运行,可以在本地使用以下命令:
ssh -L 8888:localhost:8888 user@your-server-ip
然后在本地浏览器中访问 http://localhost:8888,即可安全地访问远程的 Jupyter Notebook。