Jupyterlab+内网云穿透傻瓜式教程

文章目录

  • Jupyterlab+内网云穿透傻瓜式教程
  • 1、Miniforge安装
  • 2、Jupyter Lab安装
  • 3、Python语言服务器安装
  • 4、PowerShell 7安装
  • 5、更改jupyter lab配置
  • 6、内网穿透
  • 7、高级体验

Jupyterlab+内网云穿透傻瓜式教程

1、Miniforge安装

如下图,以Windows安装为例,打开conda-forge 链接并下载Miniforge。下载完成后一路点击next进行安装。(注意选择安装路径的时候不要选择C盘系统盘,因为C盘满了会影响系统运行性能)

Miniforge是一个轻量级的Python发行版,旨在提供与Anaconda相似的环境管理和包管理功能,但**体积更小,更适合需要快速部署或资源受限的环境。**它是Conda-forge社区的一个项目,Conda-forge是一个提供Conda可安装软件包的社区驱动的平台。

image-20240405195413130

image-20240405201713060

如下图,安装完成后打开windows搜索框并搜索编辑系统环境变量并打开,将Miniforge的三个环境变量添加到系统中去,注意替换成自己实际的安装路径。

D:\ruanjian\Miniforge\condabin
D:\ruanjian\Miniforge\Library\bin
D:\ruanjian\Miniforge\Scripts
image-20240406140159342

image-20240406140718705

环境变量配置好后打开windows搜索框并搜索Miniforge Prompt,将其固定在任务栏后并打开,此时你会发现出现了一个和windows cmd一样的黑窗口,同时系统已经预装好了conda,python等一系列开发环境包,并默认进入了conda的base环境中。

  • conda是一个跨平台的包管理器,不仅可以安装Python包,还可以管理Python环境、非Python依赖等,专门针对科学计算和数据科学领域。
  • conda会自动处理包之间的依赖关系,减少了手动解决依赖问题的需要。
  • conda支持创建隔离的环境,使得在同一系统上安装不同版本的Python和包变得容易。

image-20240406141536846

2、Jupyter Lab安装

如下图在终端窗口中依次执行以下命令进行jupyterlabjupyter_nbextensions_configuratorjupyter notebook的安装

  • JupyterLab 是 Jupyter Notebook 的下一代前端,提供了一种更为现代化和灵活的交互式计算环境。它通过模块化设计实现了更优化的用户界面,支持多标签式界面,允许用户同时处理多个笔记本、文本文件、终端和代码控制台。
  • JupyterLab的插件架构增强了其扩展性,使得用户能够根据需求安装或开发新功能。其数据查看和编辑功能也更加强大,支持多种数据格式,并优化了对多语言的支持。
  • JupyterLab还内嵌了终端,简化了命令行工具的使用,同时文件浏览器功能也得到了增强。代码和输出拆分功能使得比较和查看多个输出变得更加便捷。JupyterLab还更好地支持云计算环境,便于团队和教育环境中的应用。
# 查看当前base环境的python版本
python --version# conda clean 命令用于清理 conda 下载和缓存的各种文件,以释放磁盘空间。如果您不是第一次安装conda请执行该命令将开发环境清理干净。
conda clean --all# 安装jupyterlab,并查看其版本
conda install jupyterlab
jupyter lab --version# 该插件提供了一个用户界面,允许用户轻松地启用、配置和管理 Jupyter Notebook 的扩展(nbextensions)。这些扩展可以增强 Jupyter Notebook 的功能,添加新的工具、编辑器功能、可视化效果等。
conda install jupyter_nbextensions_configurator# 对jupyter notebook进行降级处理,使其能与jupyterlab相兼容
conda install jupyter notebook==6.4.3
jupyter notebook --version

image-20240406105835308

3、Python语言服务器安装

**JupyterLab支持多种编程语言,而语言服务器是一种提供特定编程语言支持的插件,例如自动完成、语法高亮、代码导航等功能。**这里以python语言服务器为例子进行安装,其它语言服务器可根据自己的需要来进行安装。

  • python-language-server (pyls): 这是一个python语言服务器,为编辑器和IDE提供Python代码的自动完成、定义查找、代码诊断等功能。它可以帮助提高代码质量和开发效率。
  • pyright: 这是一个用于Python的静态类型检查工具,它可以在不运行代码的情况下检查代码中的类型错误。Pyright是由微软开发的,它提供了快速的类型检查和丰富的类型检查功能。
  • jedi: 这是一个自动完成和代码分析库,它是许多Python IDE和编辑器(如PyCharm、VS Code等)中自动完成功能的基础。Jedi能够理解Python代码的复杂性和动态特性,提供准确的代码补全和导航功能。
# 安装python相关的插件
conda install python-language-server pyright jedi

下表是JupyterLab支持的其他语言服务器

语言服务器名称服务语言功能描述
bash-language-serverBash提供代码补全、诊断、格式化和跳转等功能
dockerfile-language-server-nodejsDockerfile提供代码补全、诊断和跳转等功能
javascript-typescript-langserverJavaScript 和 TypeScript提供代码补全、诊断和跳转等功能
julia-language-serverJulia提供代码补全、诊断和跳转等功能
r-languageserverR提供代码补全、诊断和跳转等功能
sql-language-serverSQL提供代码补全、诊断和跳转等功能
texlabLaTeX提供代码补全、诊断、格式化和跳转等功能
typescript-language-serverTypeScript提供代码补全、诊断和跳转等功能
unified-language-server统一语言提供代码补全、诊断和跳转等功能
vscode-css-languageserver-binCSS提供代码补全、诊断和跳转等功能
vscode-html-languageserver-binHTML提供代码补全、诊断和跳转等功能
vscode-json-languageserver-binJSON提供代码补全、诊断和跳转等功能
yaml-language-serverYAML提供代码补全、诊断和跳转等功能

4、PowerShell 7安装

由于Miniforge默认使用的是windows的cmd终端,不兼容一般的linux命令(如ls,cp,mv,rm,cat等),也没有命令的自动补全功能,因此我们可以使用功能更加强大的PowerShell 7来作为我们的默认终端

如下图,打开PowerShell | newbe,下载最新的PowerShell 7.4.1版本并安装,安装完成后在搜索栏搜索powershell将其固定在任务栏中代替Miniforge的使用

image-20240406135120708

image-20240406135034538

image-20240406135923273

image-20240406145513553

5、更改jupyter lab配置

# 生成jupyter lab的配置文件
jupyter lab --generate-config# 生成jupyter notebook的配置文件
jupyter notebook --generate-config

如下图,打开C:\Users\你的用户名\.jupyter目录,用windows自带的记事本更改jupyter_lab_config.py配置文件,将jupyterlab内的终端更改成自己喜欢的,支持git bashpowershell 7,我这里以本机的powershell 7为例

# 在记事本内搜索 c.ServerApp.terminado_settings = {},在下面一行粘贴下面的终端配置
c.ServerApp.terminado_settings = {'shell_command': ['pwsh.exe']
}# 在记事本内搜索 c.ServerApp.root_dir,在下面一行粘贴下面的默认打开目录配置,根据自己的实际工作目录进行修改
c.ServerApp.root_dir = 'D:\\desktop\\study\\jupyter-ML'# 在记事本内搜索 c.ServerApp.browser,在下面一行粘贴下面的默认打开浏览器配置,根据自己的实际浏览器路径进行修改,Edege这样修改
import webbrowser
webbrowser.register('msedge',None, webbrowser.GenericBrowser(r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'))
c.ServerApp.browser ='msedge'# 如果是chrome的话这样修改
import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'))
c.ServerApp.browser = 'chrome'

image-20240406133832924

image-20240406133913243

image-20240406144544301

image-20240406144845744

修改完成之后在powershell 7中打开终端,执行jupyter lab(点击键盘右键:“->”,即可自动补全历史命令),这时会自动打开浏览器,进入jupyter lab设置好的工作目录,

jupyter lab

image-20240406144133827

image-20240406143918720

再打开一个powershell终端,在终端执行以下命令,设置jupyter lab的访问密码(输入密码时屏幕并不会显示,这是终端的安全措施,输入完成后按回车即可),密码保存至本地的~\.jupyter\jupyter_server_config.json内,如果遗忘可以打开该文件进行查找

jupyter server password

image-20240406154627025

6、内网穿透

在任务栏中右键powershell打开一个终端,查看本机内网ip,支持将多个内网设备的多个服务转发到公网上。

# 查看本机局域网ip,如果电脑是连的网线,就看以太网的;连的wifi热点,就看WLAN的
ipconfig

image-20240406150348371

image-20240406150419576

以上图中wifi热点的ip:192.168.43.10为例,将下面命令中的内网ip更改为本机查询到的实际内网ip

# 此时,关闭刚才打开的jupyter lab,并以下面的命令重新启动,输入刚才设置的密码
jupyter lab --ip=192.168.43.10 --NotebookApp.allow_origin='*'

image-20240406160442305

将下面命令中的内网ip更改为本机查询到的实际内网ip,匿名隧道目前提供了上海和香港的两条隧道,任选其中一条执行即可

# 执行以下命令建立匿名隧道,将http或https的链接和你设置的jupyter lab密码转发给你的朋友们,他们就可以随时随地同步调试你机器上的jupyter lab了# 上海地区服务器
ssh -R 80:192.168.43.10:8888 sh@sh3.neiwangyun.net# 香港地区服务器
ssh -R 80:192.168.43.10:8888 hk@hk3.neiwangyun.net

image-20240406151224545

image-20240406160627905

image-20240406160735200

7、高级体验

相比与其他提供内网穿透服务的软件,内网云无需安装任何软件进行任何复杂的配置,只需一行命令即可将内网上的服务转发到公网上,对小白的体验极其友好,能以最快的速度完成内网穿透。

免费的匿名隧道只有2小时的使用时长,且一次连接,最多保持两小时有效,每次连接,网址和端口都不一样。对于想要获得高级体验的同学来说,最低79元一年的付费隧道具有如下优势:内网云——内网也可以变成云 (neiwangyun.net)

  • 仪表盘左侧 我的隧道 可以查看和设置个人隧道
  • 每条个人隧道,都有固定的网址和端口
  • 个人隧道支持cname解析
  • cname的ssl证书功能正在开发和测试阶段,暂未开放使用
  • 只要网络没波动,ssh连接可以维持到宇宙爆炸

image-20240406163201518

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

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

相关文章

DFS:floodfill算法解决矩阵联通块问题

floodfill,翻译为洪水灌溉,而floodfill算法本质上是为了解决在矩阵中性质相同的联通块问题。 一、图像渲染 . - 力扣(LeetCode) class Solution { public:int dx[4]{0,0,1,-1};int dy[4]{1,-1,0,0};int prev;//记住初始值int m,…

LangChain-10(2) 加餐 编写Agent获取本地Docker运行情况 无技术含量只是思路

可以先查看 上一节内容,会对本节有更好的理解。 安装依赖 pip install langchainhub编写代码 核心代码 tool def get_docker_info(docker_name: str) -> str:"""Get information about a docker pod container info."""result…

色彩在设计中的重要性

title: 色彩在设计中的重要性 date: 2024/4/6 19:08:21 updated: 2024/4/6 19:08:21 tags: 色彩心理品牌识别用户体验文化差异创意设计视觉传达易读性 色彩是设计中不可或缺的元素,它不仅可以影响人的情绪和心理状态,还可以在品牌识别、用户体验、文化差…

【C++练级之路】【Lv.19】【STL】unordered_set类和unordered_map类的模拟实现

快乐的流畅:个人主页 个人专栏:《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、哈希表(改造版)1.1 结点1.2 迭代器1.2.1 operator 1.3 本体1.3.1 成员变量和…

掌握 TypeScript 核心:从基本类型到面向对象编程,理论详解与Vue3实践运用

TypeScript 是一种开源的编程语言,由微软公司开发,于2012年10月首次公开发布。 TypeScript 是 JavaScript 的超集,这意味着任何合法的 JavaScript 代码都是有效的 TypeScript 代码。它在 JavaScript 的基础上添加了静态类型系统、类、接口、模…

【Linux】有关时间的命令(date、timedatectl)

专栏文章索引:Linux 有问题可私聊:QQ:3375119339 目录 一、data命令 1.介绍 2.常用参数 3.常用选项 二、timedatectl命令 1.介绍 2.常用子命令 一、data命令 1.介绍 date命令用于显示或设置系统的时间与日期,语法格式为&a…

Nacos 入门篇---客户端如何发起服务注册?怎么发送服务心跳的(二)

一、引言 上个章节我们简单学习和使用了下Nacos服务自动注册,本文就来分析下Nacos客户端自动注册服务是怎么实现的~ 二、目录 目录 一、引言 三、Nacos 源码编译 1.1 拉取代码 1.2 运行起来 四、客户端使用版本选择 五、Nacos客户端项目启动为什么会…

java数据结构与算法刷题-----LeetCode415. 字符串相加

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 模拟小学加法运算 模拟小学加法运算 解题思路:时间复…

深入浅出 -- 系统架构之分布式集群的分类

一、单点故障问题 集群,相信诸位对这个概念并不陌生,集群已成为现时代中,保证服务高可用不可或缺的一种手段。 回想起初集中式部署的单体应用,因为只有一个节点,因此当该节点出现任意类型的故障(网络、硬件…

MySQL复制拓扑4

文章目录 主要内容一.启用GUID并配置循环复制1.其中,UUID用来唯一标识每一个服务器,事务的编号记录了在该服务器上执行的事务的顺序。使用SELECT server_uuid\G命令可以查看服务器的UUID,sever1的UUID值显示如下:代码如下&#xf…

区域自动气象站讲解

TH-QC10当我们每天查看天气预报,安排出行计划,或是在户外活动时关注天气变化,很少有人会想到这一切背后默默付出的“英雄”——区域自动气象站。这些看似不起眼的气象监测设备,却在我们日常生活中扮演着至关重要的角色。今天&…

单链表经典oj题 (一) 简单

1.删除指定节点数据(非尾节点),要求时间复杂度为O(1) . - 力扣(LeetCode) 在之前我们将单链表删除指定节点的操作是先遍历找到pos的前一个结点,然后再进行删除,但是现在要求再O(1)时间内完成&am…

Kubernetes有状态任务

有状态任务是指执行期间需要维护一定状态或数据的任务或工作。这些任务通常需要记录并维护数据、状态、上下文或进度信息,并且这些信息在任务执行期间保持持久。有状态任务的解决目标是确保任务在不同的环境、节点或时间点之间维持一致的状态和标识。这种任务通常需…

2-3 AUTOSAR ASW Runable可运行实体

返回总目录->返回总目录<- 目录 一、概述 二、RTE Event 一、概述 运行实体(Runnable Entity,RE)是一段可执行的代码,其包含实际实现的函数(具体的逻辑算法或者操作)。一个软件组件可以包含一个或者多个运行实体。 Runnable就是SWC中的函数,而在AutoSAR架构在被…

Windows Server 2012 R2安装远程桌面服务

文章目录 一、打开【服务器管理器】二、点击【添加角色和功能】三、点击【下一步】四、点击【下一步】五、点击【下一步】![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/05b61a830faf477e81f858ec00bbdfff.png)六、勾选【远程桌面服务】→点击【下一步】七、点击【…

sharo反序列化漏洞

启动docker 服务 sudo service docker start 打开靶场 sudo docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 输入docker虚拟机地址打开靶机sharo框架 如何利用漏洞 打开工具目录在终端中打开 输入靶机地址 打开yaki监听端口可以设置为6666 返回工具填写靶机ip和端口 …

Windows应急响应

1.排查隐藏账号 查看注册表 找到攻击者用户目录文件 排查用户异常 eventvwr.msc 分析用户登录日志 排查可疑端口 排查可疑进程 检查启动项、计划任务和服务 查看系统补丁信息 安装火绒&#xff0c;在安全工具里有火绒剑 计划任务 使用D盾对主机进行检测&#xff0c;发现隐藏账户…

中非绿色能源合作走深走实

近日&#xff0c;第十六届非洲能源大会在南非立法首都开普敦举行&#xff0c;探讨实现非洲能源转型的可持续解决方案。近年来&#xff0c;中国与非洲国家不断加强绿色能源合作&#xff0c;促进双方优势资源互补&#xff0c;逐步探索合作共赢的绿色能源合作方案。 势头良好 近年…

【201】Java8读取JSON树形结构并插入到MySQL数据库表中

我写了一个 maven 项目的 Demo&#xff0c;用来演示 JAVA8 如何读取 JSON 文件树形结构&#xff0c;并将这种树形结构保存到 MySQL 中。 json文件 city.json {"name": "山东省","sub": [{"name": "青岛市","sub"…

什么是SYN攻击,有什么办法防御SYN攻击

自进入数字化互联网时代&#xff0c;网络技术给我们带来了许多服务&#xff0c;为人们的生活增添了许多便利。但同时&#xff0c;网络安全问题也日益凸显&#xff0c;其中DDoS攻击&#xff0c;即分布式拒绝服务攻击&#xff0c;已经成为一种常见的网络威胁。这种攻击方式通过控…