本地主机使用jupyter notebook实现在远程服务器上运行代码
🌵文章目录🌵
🌳引言🌳
随着云计算和分布式计算的发展,远程服务器已经成为我们进行数据处理、模型训练等任务的重要工具。然而,有时候我们可能出于方便性考虑,希望在本地使用Jupyter Notebook来执行在远程服务器上运行的代码。这不仅可以避免频繁的代码上传和下载,而且还能提供更好的交互性和实时反馈。本文将介绍如何实现这一目标。
🌳实现步骤🌳
1. 在服务器上激活虚拟环境
首先,需要在远程服务器上激活一个虚拟环境。这通常是为了确保代码在一个隔离的环境中运行,不会受到全局环境的影响。假设您使用的是conda虚拟环境您可以这样操作:
conda activate xxx # 激活虚拟环境 xxx是您的虚拟环境名称
2. 在服务器上安装jupyter并生成配置文件
在激活的虚拟环境中,您需要安装Jupyter Notebook。可以使用pip来安装:
pip install jupyter # 安装 Jupyter Notebook
安装完成后,Jupyter会生成一个默认的配置文件。这个配置文件通常位于~/.jupyter/jupyter_notebook_config.json
。
3. 在服务器上生成加密密钥
为了安全地连接Jupyter Notebook,您需要生成一个加密密钥。首先,在终端输入python
指令进行python环境,并依次执行:
from IPython.lib import passwd
passwd()
如果出现以下报错:
则可能是您的python版本过高,可以换条指令:
from notebook.auth import passwd
passwd()
如果仍然出现报错:
可以继续换指令(下面指令在python3.8中不报错):
from jupyter_server.auth import passwd
passwd()
这三条指令都会提示您输入和确认一个密码。这个密码将被用于加密Jupyter Notebook的连接(复制密文备用,如下图所示)。
执行exit()
,退出python环境。
4. 在服务器上修改默认配置文件
执行以下指令进入Jupyter的配置文件~/.jupyter/jupyter_notebook_config.json
。
vim ~/.jupyter/jupyter_notebook_config.py
进入配置文件后,输入 :$
+回车 跳转到文本末尾,参考以下文本修改配置文件:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'argon2:xxxxxxxxxxxxxxxxxxx' # 先前备份的加密密钥
c.NotebookApp.port = 8888 # 随便设定一个端口
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True
c.NotebookApp.notebook_dir = '/project' # 定义notebook的起始路径
修改完毕后,按住Esc
,并输入:wq
退出编辑页面。
5. 在服务器上使用jupyter
在激活的虚拟环境中,启动Jupyter Notebook:
jupyter notebook --no-browser
运行结果如下:
可以看到,Jupyter Notebook为我们分配的端口是8889,我们可以复制红框中的地址到浏览器访问网页版的Jupyter Notebook(可能会拒绝访问,执行步骤6)。
6. 本地cmd上连接远程服务器
在您的本地机器上打开命令提示符或终端。使用SSH命令连接到远程服务器。例如,如果远程服务器的IP地址是192.168.0.100
,用户名是root
,端口号是50001
,那么可以使用以下命令:
ssh -p 50001 root@192.168.0.100 -L127.0.0.1:8889:127.0.0.1:8889
注意:以上命令的端口号8889要和步骤5的保持一致。
7. 在本地浏览器上远程访问jupyter
一旦您通过SSH连接到远程服务器,您可以尝试在本地浏览器中打开Jupyter Notebook。为了做到这一点,请在浏览器地址栏中输入以下URL:
http://localhost:8889/tree
如果一切设置正确,您应该能够看到如下所示的Jupyter Notebook界面。
输入在步骤三设置的密码后,您便可以在其中创建新的笔记本或打开现有的笔记本来运行代码。
🌳结尾🌳
亲爱的读者,首先感谢您抽出宝贵的时间来阅读我们的博客。我们真诚地欢迎您留下评论和意见💬。
俗话说,当局者迷,旁观者清。您的客观视角对于我们发现博文的不足、提升内容质量起着不可替代的作用。
如果博文给您带来了些许帮助,那么,希望您能为我们点个免费的赞👍👍/收藏👇👇,您的支持和鼓励👏👏是我们持续创作✍️✍️的动力。
我们会持续努力创作✍️✍️,并不断优化博文质量👨💻👨💻,只为给您带来更佳的阅读体验。
如果您有任何疑问或建议,请随时在评论区留言,我们将竭诚为你解答~
愿我们共同成长🌱🌳,共享智慧的果实🍎🍏!
万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~