远程工作利器:高效指南教你如何在Linux服务器上部署Jupyter Notebook并实现安全远程访问

news2024/11/19 3:27:48

远程工作利器:高效指南教你如何在Linux服务器上部署Jupyter Notebook并实现安全远程访问

1.安装 Anaconda和python

你可以在终端中运行以下命令来检查是否已安装:

python --version
python3 --version
  • 安装 pip

    pip 是 Python 的包管理工具,用于安装和管理 Python 库。在终端中运行以下命令来安装 pip:

    sudo yum install python3-pip
    
  • Anaconda安装

    这里就不赘述了直接参考下述链接:

    Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda12.4、cudnn]、CPU安装教学,多版本cuda11.2 自由切换

    #1.创建指定python版本的环境
    conda create --name your-env python=3.11
    #2. 激活环境
    conda activate your-env
    #3.退出环境
    conda deactivate
    

2.安装 Jupyter

  1. 使用 pip 安装 Jupyter。运行以下命令:

    # 更新pip3到最新版本
    pip3 install --upgrade pip
    # pip安装jupyter notebook
    pip3 install jupyter
    
  2. 把 jupyter 添加到环境变量。

    # 显示jupyter所在目录
    ~ pip3 show jupyter
    Location: /usr/local/lib/python3.6/site-packages
    

    a. 查找 Jupyter 的安装位置:
    查找 Jupyter 可执行文件的安装位置。你可以使用以下命令找到:

    find / -name jupyter
    

    上述命令可能需要一些时间,因为它会搜索整个文件系统。找到类似/xxx/xxxl/bin/jupyter的路径。

    在这里插入图片描述

    b. 将 Jupyter 路径添加到 PATH:
    打开你的 bash 配置文件,通常是~/.bashrc~/.bash_profile。使用文本编辑器打开该文件:

    vim ~/.bashrc
    或者
    nano ~/.bash_profile
    

    c. 在文件的末尾添加以下行(将xxx/xxxx/bin替换为上面找到的 Jupyter 可执行文件的路径)

    export PATH="/www/anaconda3/anaconda3/envs/agent/bin:$PATH"
    

    保存并退出文本编辑器。

    d. 使更改生效:

    source ~/.bashrc
    

    或者

    source ~/.bash_profile
    

3.启动 Jupyter Notebook

3.1. 生成配置文件

jupyter notebook --generate-config

会生成一个jupyter_notebook_config.py文件。

一般生成在root/.jupyter/下面

3.2. 创建密码

jupyter notebook password

输入两次密码,然后他会自动帮你把生成含有密码的 hash 码输入到jupyter_notebook_config.json文件。

随便设置简单即可 123456789

3.3. 修改 jupyter notebook 的配置文件

  • 打开配置文件

    vim jupyter/jupyter_notebook_config.py
    
  • 在该文件中做如下修改或直接在文件尾端添加:

    c.NotebookApp.allow_remote_access = True #是否允许远程访问,默认False
    c.NotebookApp.allow_root = True #是否同意jupyter以root身份运行,默认False
    c.NotebookApp.ip = '0.0.0.0' #允许所有ip访问
    c.NotebookApp.notebook_dir = '/www/algorithm/agent' #自定义工作区,目录要自己预先创建。
    c.NotebookApp.open_browser = False #是否在键入jupyter时打开浏览器
    c.NotebookApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=xxxxxxxxxxxxx' #jupyter server密码,从jupyter_notebook_config.json 复制出来。
    c.NotebookApp.port = 8502 #jupyter的监听端口,默认8888
    
    

自定义工作区 :推荐放在ipynb所有目录一致

3.4. 启动 jupyter notebook

jupyter notebook
#jupyter notebook --ip=0.0.0.0 --port=8888
# 或使用nohup后台运行
nohup jupyter notebook &

3.5. 远程访问 jupyter notebook

浏览器输入http://ip:8502, 会让你输入密码,密码即为你上面设置的。

在这里插入图片描述

本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

4.Jupyter 好用的扩展插件

  • 1、安装 jupyter_contrib_nbextensions
    该插件会扩展 jupyter 的很多功能,如目录,自动补全等,在服务器终端依次运行如下命令

    pip install jupyter_contrib_nbextensions
    
    jupyter-contrib-nbextension install --user
    

    打开 jupyter 会发现多了一个菜单栏 Nbextension

    对 Nbextension 进行配置,勾选需要的功能

  • 2、安装 nb_conda

    conda install nb_conda
    

    安装完成后,需要在服务器重新启动一下 Jupyter notebook,会发现多了一个菜单栏 Conda

    在服务器创建一个虚拟环境 python312,然后刷新一下页面,就可以看到虚拟环境 python312

    conda create -n python312 python=3.12
    

5. 多个 Python 版本 kernel 配置

虽然上面已经创建了虚拟环境,并显示出来了,但是在创建新的 notebook 时并显示 python312,因为 python312 存在不同的虚拟环境里面,这个需要我们再进行配置

Jupyter Notebook 允许用户在同一个 notebook 中使用多个不同的 IPython 内核

  • 1、安装 Jupyter Notebook 和 IPython 内核

    conda create -n python312 python=3.12   #上面安装过的可以忽略
    conda activate python312
    pip install jupyter
    pip install ipykernel
    pip install ipywidgets
    
  • 2、安装新的 kernel 内核

    conda activate python312   #切换虚拟环境
    ipython kernel install --name "python312" --user
    
  • 3、服务器端重新启动 Jupyter notebook
    建一个 python312 内核的 notebook,查看当前内核的 python 解释器版本
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【1.文件和目录相关(上)】

一、Linux的文件系统结构 1、Linux文件系统就是一个树形的分层组织结构。 2、文件系统层次结构标准FHS:用于规范文件目录命名和存放标准。 (1)/bin:是二进制英文缩写。 (2)/boot:存放的是系统启动时要用到的程序。 …

16 -java反射

目录 第16章 反射 16.1 反射的概念 16.2反射的作用 16.3 java.lang.Class类 16.3.1 哪些类型可以获取Class对象 16.3.2 获取Class对象的四种方式 16.4 反射的基本应用 16.4.1 获取类型的详细信息 16.4.2 创建任意引用类型的对象 16.4.3 操作任意类型的属性 16.4.4 调…

【uni-app】Pinia 持久化

小程序端 Pinia 持久化 说明:Pinia 用法与 Vue3 项目完全一致,uni-app 项目仅需解决持久化插件兼容性问题。 持久化存储插件 安装持久化存储插件: pinia-plugin-persistedstate pnpm i pinia-plugin-persistedstate插件默认使用 localStor…

观成科技:Play勒索软件组织加密流量分析

1.概述 近年来,勒索软件组织的作业链条逐渐从“加密数据->收取赎金”转变到“数据窃取->加密数据->暗网披露窃取数据大小和内容描述->收取赎金”[1]。勒索软件组织在获取到受害者的访问权限后,不会立刻进行勒索,而是进行横向移动…

k8s部署calico遇到的问题

kubernetes安装calico calico官网 环境:centos7.9,calico 3.23,kuberadm 1.26 问题1:执行kubectl create -f calico.yml后报错如下 error: resource mapping not found for name: “tigera-operator” namespace: “” from “…

【旧文更新】武汉光迅科技22校招笔试Python题改进(增加GUI) 基于Python的125温度传感器模块数据处理

【旧文更新】武汉光迅科技22校招笔试Python题改进(增加GUI) 基于Python的125温度传感器模块数据处理 文章目录 关于旧文新发题目分析附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 附录:关于旧文新发 关于…

HCIA--DHCP: 动态主机配置协议 (复习)

DHCP: 动态主机配置协议 -- 同一分发管理ip地址 基于UDP 67/68端口工作 网络中存在DHCP的服务器为需要自动生成ip地址的设备分配ip地址;--C/S模型 成为DHCP服务器的条件: 该设备存在接口或网卡连接到所要分发ip地址的广播域内该接口或网卡必须已经配置…

在Windows安装Flutter

一、安装 Android Studio 官网: 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 教程:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客 Flutter 官网:Windows | Flutter 中文文档 - Flutter 中文开发…

乡村振兴的乡村产业创新发展:培育乡村新兴产业,打造乡村产业新名片,促进乡村经济多元化发展

目录 一、引言 二、乡村产业创新发展的必要性 (一)适应新时代发展要求 (二)满足消费升级需求 (三)促进农民增收致富 三、培育乡村新兴产业策略 (一)加强科技创新引领 &#…

阿里云物联网平台python ADK 发布/订阅

基础知识学习参考: 1、使用消息通讯Topic 2、python link SDK 一、环境变量配置 1、python3.6:下载安装 2、安装paho-mqtt 1.4.0版本 pip install paho-mqtt1.4.03、安装安装Link SDK最新版本 pip install aliyun-iot-linkkit 4、下载python ADK…

ES报错1

ES在kibana的JSON如图: 提交后错误信息如下 所以是什么错误呢: 原来是:json的格式有误改成 这里的错误其实是我在文件传输时,为了节约空间,没有以json格式传递,而是一串字符就传过来了,需要使用josn的格式化工具格式化才行,结果格式化的不正确,才遇到此坑

Echarts正负条形图将x轴都设置成正数

1、先修改x轴上面显示为负数的刻度标签&#xff0c;找到xAxis[i].axisLabel&#xff0c;重写他的formatter xAxis: [{type: value,axisLabel: {formatter: (value) > {// 负数取反 显示的就是正数了if (value < 0) return -valueelse return value}}} ] 2、在修改柱状图…

vue中计算属性computed和watch的区别是什么?

watch : 监测的是属性值&#xff0c;只要属性值发生变化&#xff0c;其都会触发执行回调函数来执行一系列操作&#xff1b; computed : 监测的是依赖值&#xff0c;依赖值不变的情况下其会直接读取缓存进行复用&#xff0c;变化的情况下才会重新计算&#xff1b; 它们之间最…

zynq/zynqMP启动模式总结:FLASH+emmc启动/petalinux烧写速度最快的启动方式

因客户要求zynq开发板只有FLASH和emmc&#xff0c;然而还得在petalinux进行开发系统&#xff0c;因FLASH大小有限&#xff0c;所以没办法把内核和根文件地址全部存储到FLASH中&#xff0c;于是想配合emmc进行启动&#xff0c;但是在网上搜索的大多都是只把根文件系统放到了emmc…

制造企业如何通过PLM系统实现BOM管理的飞跃

摘要 在当今快速变化的制造行业中&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;系统的应用已成为企业提升效率、降低成本和增强竞争力的关键。本文将探讨PLM系统如何通过其先进的BOM&#xff08;物料清单&#xff09;管理功能&#xff0c;帮助制造企业在整个产品生…

100T微机控制电液伺服卧式拉力试验机

一、产品概述 微机控制卧式拉力试验机适用于额定试验力下的拉伸试验及恒负荷拉伸&#xff0c;可用于钢丝绳、锚链、钩环、电瓷瓶、电缆、光缆、钢铰线、棒材、绳类等制品或材料的拉伸强度测试。 二、性能特点 本机采用计算机控制&#xff0c;具有力、位移自动跟踪测量加荷速…

视频监控业务平台LntonCVS国标GB28181视频平台智慧城市应用方案

随着科技的不断进步&#xff0c;尤其是人工智能技术的飞速发展&#xff0c;视频应用已经超越了传统的视频监控、视频会议、视频通话和视频指挥调度等基本功能。它们正在向更加多元化、灵活化、融合化和智能化的方向发展。因此&#xff0c;建立一个视频AI中台变得至关重要。 通过…

RTPS协议之Messages Module

目录 Messages ModuleType定义RTPS消息结构RTPS消息头子消息结构 RTPS消息接收者SubmessageElementsRTPS HeaderRTPS Submessages Messages Module RTPS Writer和RTPS Reader之间的交换数据的消息。 Type定义 TypePurposeProtocolId_tSubmessageFlagsub msg flagSubmessageK…

【YashanDB知识库】OCI驱动类问题定位方法

【标题】OCI驱动类问题定位方法 【需求分类】故障分析 【关键字】OCI 【需求描述】由于我们的OCI接口目前尚不完善&#xff0c;经常会遇见OCI接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管理员…