文章目录
- 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可安装软件包的社区驱动的平台。
如下图,安装完成后打开windows搜索框并搜索编辑系统环境变量
并打开,将Miniforge
的三个环境变量添加到系统中去,注意替换成自己实际的安装路径。
D:\ruanjian\Miniforge\condabin
D:\ruanjian\Miniforge\Library\bin
D:\ruanjian\Miniforge\Scripts
环境变量配置好后打开windows搜索框并搜索Miniforge Prompt
,将其固定在任务栏后并打开,此时你会发现出现了一个和windows cmd一样的黑窗口,同时系统已经预装好了conda,python等一系列开发环境包,并默认进入了conda
的base环境中。
conda
是一个跨平台的包管理器,不仅可以安装Python包,还可以管理Python环境、非Python依赖等,专门针对科学计算和数据科学领域。conda
会自动处理包之间的依赖关系,减少了手动解决依赖问题的需要。conda
支持创建隔离的环境,使得在同一系统上安装不同版本的Python和包变得容易。
2、Jupyter Lab安装
如下图在终端窗口中依次执行以下命令进行jupyterlab
,jupyter_nbextensions_configurator
,jupyter 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
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-server | Bash | 提供代码补全、诊断、格式化和跳转等功能 |
dockerfile-language-server-nodejs | Dockerfile | 提供代码补全、诊断和跳转等功能 |
javascript-typescript-langserver | JavaScript 和 TypeScript | 提供代码补全、诊断和跳转等功能 |
julia-language-server | Julia | 提供代码补全、诊断和跳转等功能 |
r-languageserver | R | 提供代码补全、诊断和跳转等功能 |
sql-language-server | SQL | 提供代码补全、诊断和跳转等功能 |
texlab | LaTeX | 提供代码补全、诊断、格式化和跳转等功能 |
typescript-language-server | TypeScript | 提供代码补全、诊断和跳转等功能 |
unified-language-server | 统一语言 | 提供代码补全、诊断和跳转等功能 |
vscode-css-languageserver-bin | CSS | 提供代码补全、诊断和跳转等功能 |
vscode-html-languageserver-bin | HTML | 提供代码补全、诊断和跳转等功能 |
vscode-json-languageserver-bin | JSON | 提供代码补全、诊断和跳转等功能 |
yaml-language-server | YAML | 提供代码补全、诊断和跳转等功能 |
4、PowerShell 7安装
由于Miniforge
默认使用的是windows的cmd
终端,不兼容一般的linux命令(如ls,cp,mv,rm,cat等),也没有命令的自动补全功能,因此我们可以使用功能更加强大的PowerShell 7
来作为我们的默认终端
如下图,打开PowerShell | newbe,下载最新的PowerShell 7.4.1
版本并安装,安装完成后在搜索栏搜索powershell
将其固定在任务栏中代替Miniforge
的使用
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 bash
,powershell 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'
修改完成之后在powershell 7
中打开终端,执行jupyter lab
(点击键盘右键:“->”,即可自动补全历史命令),这时会自动打开浏览器,进入jupyter lab
设置好的工作目录,
jupyter lab
再打开一个powershell
终端,在终端执行以下命令,设置jupyter lab的访问密码(输入密码时屏幕并不会显示,这是终端的安全措施,输入完成后按回车即可),密码保存至本地的~\.jupyter\jupyter_server_config.json
内,如果遗忘可以打开该文件进行查找
jupyter server password
6、内网穿透
在任务栏中右键powershell打开一个终端,查看本机内网ip,支持将多个内网设备的多个服务转发到公网上。
# 查看本机局域网ip,如果电脑是连的网线,就看以太网的;连的wifi热点,就看WLAN的
ipconfig
以上图中wifi热点的ip:192.168.43.10为例,将下面命令中的内网ip更改为本机查询到的实际内网ip
# 此时,关闭刚才打开的jupyter lab,并以下面的命令重新启动,输入刚才设置的密码
jupyter lab --ip=192.168.43.10 --NotebookApp.allow_origin='*'
将下面命令中的内网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
7、高级体验
相比与其他提供内网穿透服务的软件,内网云无需安装任何软件进行任何复杂的配置,只需一行命令即可将内网上的服务转发到公网上,对小白的体验极其友好,能以最快的速度完成内网穿透。
免费的匿名隧道只有2小时的使用时长,且一次连接,最多保持两小时有效,每次连接,网址和端口都不一样。对于想要获得高级体验的同学来说,最低79元一年的付费隧道具有如下优势:内网云——内网也可以变成云 (neiwangyun.net)
- 仪表盘左侧 我的隧道 可以查看和设置个人隧道
- 每条个人隧道,都有固定的网址和端口
- 个人隧道支持cname解析
- cname的ssl证书功能正在开发和测试阶段,暂未开放使用
- 只要网络没波动,ssh连接可以维持到宇宙爆炸