当前位置:   article > 正文

Jupyterlab+内网云穿透傻瓜式教程_windows miniforge安装

windows miniforge安装

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
  • 1
  • 2
  • 3
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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
  • 1
  • 2

下表是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
  • 1
  • 2
  • 3
  • 4
  • 5

如下图,打开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'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

image-20240406133832924

image-20240406133913243

image-20240406144544301

image-20240406144845744

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

jupyter lab
  • 1

image-20240406144133827

image-20240406143918720

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

jupyter server password
  • 1

image-20240406154627025

6、内网穿透

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

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

image-20240406150348371

image-20240406150419576

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

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image-20240406151224545

image-20240406160627905

image-20240406160735200

7、高级体验

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

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

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

image-20240406163201518

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/513955
推荐阅读
相关标签
  

闽ICP备14008679号