一、介绍
Jupyter Notebook是一个开源 Web 应用程序,可让您创建和共享交互式代码、可视化等。该工具可用于多种编程语言,包括 Python、Julia、R、Haskell 和 Ruby。它通常用于处理数据、统计建模和机器学习。 本教程将引导您设置 Jupyter Notebook 以从 Ubuntu server 21.04 服务器运行,并演示如何通过隧道从本地计算机连接和使用 Notebook。在本指南结束时,您将能够使用在远程服务器上运行的 Jupyter Notebook 运行 Python 3 代码。
二、设置python
- 更新本地apt包索引:
sudo apt update - 安装 pip 和 Python 头文件:
sudo apt install python3-pip python3-dev - 升级pip:
sudo -H pip3 install --upgrade pip - 安装virtualenv:
sudo -H pip3 install virtualenv
三、为Jupyter创建Python虚拟环境
- 创建项目文件夹:
mkdir ~/my_project_dir;cd ~/my_project_dir - 创建虚拟环境:
virtualenv my_project_env - 激活虚拟环境:
source my_project_env/bin/activate
此时,你的命令提示符应该是这样的:(my_project_env)user@host:~/my_project_dir$ 并且,这里创建一个my_project_env在您的目录中调用的my_project_dir目录。在里面,它将安装一个本地版本的 Python 和一个本地版本的 pip。我们可以使用它为 Jupyter 安装和配置隔离的 Python 环境。
四、安装Jupyter
- 安装:
pip install jupyter - 启动:
jupyter notebook
这时候你就可以在Ubuntu的浏览器访问jupyter了,但是我们是服务器版本。。。。。。
五、远程访问
- 打开ipython:
ipython $ ipython
from notebook.auth import passwd
passwd()
- 生成密钥:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'argon2:$argon2id$v=19$m=10240,t=10,p=8$vJR7C2DzV7rMXouEoBj/Cg$neXwOit2cjpasm44+ABYDw'
In [3]: exit()
- 生成jupyter的config文件:
jupyter notebook --generate-config - 修改配置文件:
vim ~/.jupyter/jupyter_notebook_config.py - 在最首行加入如下内容:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$vJR7C2DzV7rMXouEoBj/Cg$neXwOit2cjpasm44+ABYDw'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
- 启动jupyter:
jupyter notebook
至此,就可以在远程电脑上使用你刚刚创建的密码打开jupyter了:http://your-server-ip:8888
六、后台运行
-
激活环境:source ~/my_project_dir/my_project_env/bin/activate (非必要,可能你已经激活) -
后台启动:nohup jupyter notebook & -
查看后台:ps -aux | grep jupyter -
关闭后台:kill -9 pid
kill - 9 表示强制杀死该进程 ps -a:显示所有程序 ps -u:以用户为主的格式来显示 ps -x:显示所有程序,不以终端机来区分
一会儿,你的jupyter界面就回出现nohup.out文件,可以打看看到jupyter的输出日志。
七、使用jupyter
-
new->python3 -
写markdown和python
八、最后
恭喜!您现在应该能够使用 Jupyter Notebook 在 Markdown 中编写可重现的 Python 代码和注释。要从界面中快速浏览 Jupyter Notebook,请从顶部导航菜单中选择帮助>用户界面教程以了解更多信息。
|