在服务器上开Juypter Lab教程(远程访问)
在服务器上开Juypter Lab教程(远程访问)
文章目录
- 在服务器上开Juypter Lab教程(远程访问)
- 一、安装anaconda
- 1、安装anaconda
- 2、提权限
- 3、运行
- 4、同意协议
- 5、安装
- 6、是否要自动初始化 conda
- 7、结束
- 8、检查
- 二、Anaconda安装Pytorch
- 1、安装pytorch
- 2、检查和激活环境
- 3、安装PyTorch
- 4、检查python版本
- 5、检查虚拟环境
- 三、安装JuypterLab
- 1、安装
- 2、生成配置文件
- 3、设置密码
- 5、设置防火墙
- 四、安装nodejs
- 1、安装
- 2、校验和检查
- 五、启动jupyter-lab
- 1、开启screen
- 2、激活环境
- 3、登录
- 4、常用工具
- 5、使用阿里云镜像
- 六、常见问题
- 1、Cannot assign requested address (或无法正常显示lab登录界面)
- 2、401 POST /login?next=%2Flab (@100.68.1.103) 13.39ms
- 3、torch等依赖显示未安装
- 4、不知道本地访问lab的地址
包含anaconda、conda、Pytorch、Juypter、node.js安装教程,并附带相关命令的解释和常见的问题.
介绍了如何在Linux服务器上配置远程访问的Jupyter Lab环境,包括从Anaconda的安装、Pytorch环境的创建、Jupyter Lab的配置到Node.js的安装步骤。它涵盖了相关命令的解释,例如如何赋予文件执行权限、创建和激活Conda虚拟环境以及配置Jupyter Lab的密码和远程访问。文件还包括一些常见问题的解决方法,如无法访问Jupyter Lab的登录界面、密码错误导致的登录失败以及环境未正确配置等。
一、安装anaconda
如何在Linux服务器上安装Anaconda(超详细)_linux安装anconda-CSDN博客
1、安装anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
2、提权限
chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh
chmod
是用来改变文件或目录的访问权限的命令,而 +x
是具体的参数选项,表示添加执行权限
在 UNIX 和类 UNIX 系统中,文件和目录的权限分为三组:
- 所有者(u):文件的创建者,通常有对文件的最高权限。
- 组(g):文件所属的用户组,组内的所有用户对文件有相同的权限。
- 其他人(o):系统中其他所有用户。
文件权限由三种类型构成:
- 读(r):可以读取文件的内容。
- 写(w):可以修改文件的内容。
- 执行(x):可以运行文件作为程序或脚本。
例如,如果一个文件原先的权限是 rw-r--r--
,运行 chmod +x
后,权限将变为 rwxr-xr-x
,这意味着所有者、组和其他用户都可以执行这个文件。
3、运行
4、同意协议
5、安装
6、是否要自动初始化 conda
yes:选择 “yes” 后,conda
会在每次启动终端时自动激活 base 环境。
no(默认):选择 “no” 后,conda
不会自动激活 base 环境,但你仍然可以通过手动命令激活环境。
7、结束
Tips:For changes to take effect, close and re-open your current shell.
我们需要关闭当前终端窗口,然后重新打开一个新的终端窗口。
8、检查
conda -V
二、Anaconda安装Pytorch
配置我尽量按照如下进行设置
1、安装pytorch
conda create -n pytorch_zhanyong python=3.8
2、检查和激活环境
conda activate pytorch_zhanyong
base
环境
- 默认环境:
base
是 Conda 安装时默认创建的环境。当你第一次安装 Anaconda 或 Miniconda 时,base
环境自动生成,并包含了 Anaconda 默认的一些包,比如numpy
、pandas
、matplotlib
等常用的科学计算库。 - 全局环境:通常,
base
环境包含了你可以使用的所有基础工具包和管理命令,如conda
命令本身。它通常不建议用作日常开发的工作环境,因为安装过多包可能导致依赖冲突或版本管理问题。 - 包较多:
base
环境默认安装了 Anaconda 或 Miniconda 中附带的大量包,可能比较臃肿。
pytorch_zhanyong
环境
- 自定义环境:
pytorch_zhanyong
是你自己创建的一个 Conda 环境,专门用来处理你在pytorch
相关的工作。这个环境不会继承base
环境中的包,而是你自行定义的,可以包含你需要的特定库,如 PyTorch、torchvision 等。它的包数量相对较少、更加轻量。 - 隔离环境:这是 Conda 的一个重要特性。每个环境都是相互隔离的,这意味着你可以在这个环境中安装与
base
环境不同的库版本或完全不同的库,而不会互相影响。这在避免包冲突、依赖问题等方面特别有用。 - 灵活性:你可以根据项目的需要,为每个项目创建独立的 Conda 环境。例如,你可以为每个项目创建不同的环境来适应不同的 Python 或库版本。
3、安装PyTorch
Previous PyTorch Versions | PyTorch
推荐使用之前的版本Previous PyTorch Version,而不是最新版本
# CUDA 11.3
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
安装结束
4、检查python版本
python --version
5、检查虚拟环境
conda info --envs
三、安装JuypterLab
1、安装
远程服务器ubuntu安装Jupyter Lab详细教程_ubuntu jupyter-CSDN博客
conda install -c anaconda jupyter
2、生成配置文件
jupyter notebook --generate-config
#生成的文件位于:~/.jupyter/jupyter_notebook_config.py #配置文件
3、设置密码
在终端中直接输入
jupyter notebook password
输入自己设置的密码即可,主要是用于后续远程登录的密码
vim .jupyter/jupyter_notebook_config.py
vim进入后,可以按照大写的G【小写没用】跳转文件的末尾位置,加入下述内容即可
c.ServerApp.ip = '*' #本机静态IP 建议使用*
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$XXXXXXXXXX'
# 这个是刚要保存的秘钥
c.ServerApp.open_browser = False # 运行时不打开本机浏览器
c.ServerApp.port = 7890 #端口,可以随意指定 不与系统其他端口冲突即可
c.ServerApp.allow_remote_access = True #允许远程访问
c.ServerApp.root_dir = '/home/zhanyong' # 如果服务器包含多个用户,建议修改初始路径,注意最后不需要使用/结束
5、设置防火墙
sudo ufw allow 7890 #放行自己设置的端口
四、安装nodejs
1、安装
下载 | Node.js 中文网 (nodejs.cn)
wget https://npmmirror.com/mirrors/node/v20.17.0/node-v20.17.0-linux-x64.tar.xz
解压
tar -xvf node-v20.17.0-linux-x64.tar.xz
# 使用vim 编辑~/.bashrc文件$vim ~/.bashrc# 在文件最后一行,添加下面一行内容
export PATH=/home/zhanyong/node-v20.17.0-linux-x64/bin:$PATH
#/home/zhanyong/node-v20.17.0-linux-x64/这部分的内容需要替换你自己的实际路径
# 使文件生效
source ~/.bashrc# 查看node版本
$node -v # 检查node环境是否配置成功
# 输出node对应版本】
v20.17.0
2、校验和检查
# 查看node版本
$node -v # 检查node环境是否配置成功
五、启动jupyter-lab
1、开启screen
一般启动jupyter后会一直保持运行,因此可以将其放入后台运行,可以采用screen来实现,首先创建一个名字为jupyterlab的后台
screen -S jupyterlab
-S
选项用于给新创建的会话指定一个名称
screen -r jupyterlab
screen -r
命令,它用于重新连接到一个已经存在的会话
然后启动,如果用的是root账号的话则需要加上–allow-root,否则不需要
# jupyter-lab --allow-root
# jupyter-lab
最后按Ctrl+A+D组合键即可退出后台,而jupyter-lab保持运行
2、激活环境
conda activate pytorch_zhanyong #在jupyter-lab之前保证环境是自己的环境,而不是base默认环境(如果没有额外创建虚拟环境,可忽略)
3、登录
使用 ip:7890/lab即可登录,注意ip是虚拟机的ip,端口是自己设置的,输入密码,密码是jupyter notebook password命令后输入的密码
检查是否可用
4、常用工具
#screen -ls 显示所有的screen
#exit 如果你在 screen 的最后一个窗口中,这将关闭该窗口,并且如果没有其它窗口,会结束整个 screen 会话。
#kill 157460 结束对应的进程screen:启动一个新的 screen 会话。
screen -S <name>:启动一个带有特定名称的新 screen 会话。
screen -ls:列出所有 screen 会话。
screen -r <name/id>:重新连接到一个已断开的 screen 会话。
screen -x <name/id>:连接到一个正在运行的 screen 会话,允许多个用户看到同一个会话。
screen -d <name/id>:断开一个 screen 会话。
#使用 -r 当你想要独占地重新连接到一个 screen 会话,如果会话正在被使用,你需要首先断开它。
#使用 -x 当你想加入一个已经被一个或多个用户连接的 screen 会话,允许多用户同时操作和查看。
5、使用阿里云镜像
pip3 config list
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com
六、常见问题
1、Cannot assign requested address (或无法正常显示lab登录界面)
n | extension was successfully loaded.
Traceback (most recent call last):File "/home/zhanyong/anaconda3/bin/jupyter-lab", line 11, in <module>sys.exit(main())^^^^^^File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 618, in launch_instanceserverapp = cls.initialize_server(argv=args)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 588, in initialize_serverserverapp.initialize(File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/traitlets/config/application.py", line 113, in innerreturn method(app, *args, **kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/jupyter_server/serverapp.py", line 2609, in initializeself.init_httpserver()File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/jupyter_server/serverapp.py", line 2432, in init_httpserverself._find_http_port()File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/jupyter_server/serverapp.py", line 2479, in _find_http_portsockets = bind_sockets(port, self.ip)^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/home/zhanyong/anaconda3/lib/python3.11/site-packages/tornado/netutil.py", line 162, in bind_socketssock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address
(base) zhanyong@532lab:~$ screen
一般是端口没有放行,或ip设置错误,一般需要修改vim .jupyter/jupyter_notebook_config.py文件的内容
可以按照下方的配置进行检查
c.ServerApp.ip = '*' #本机静态IP 建议使用*
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$XXXXXXXXXX'
# 这个是刚要保存的秘钥
c.ServerApp.open_browser = False # 运行时不打开本机浏览器
c.ServerApp.port = 7890 #端口,可以随意指定 不与系统其他端口冲突即可
c.ServerApp.allow_remote_access = True #允许远程访问
c.ServerApp.root_dir = '/home/zhanyong' # 如果服务器包含多个用户,建议修改初始路径,注意最后不需要使用/结束
2、401 POST /login?next=%2Flab (@100.68.1.103) 13.39ms
一般是密码设置错误,导致未能成功进行登录,可以重新设置密码jupyter notebook password会直接覆盖之前的数据
3、torch等依赖显示未安装
import torch# 显示 PyTorch 版本
print(f"PyTorch version: {torch.__version__}")# 检查是否可以使用CUDA
cuda_available = torch.cuda.is_available()
print(f"CUDA available: {cuda_available}")# 如果CUDA可用,显示CUDA版本
if cuda_available:print(f"CUDA version: {torch.version.cuda}")print(f"Number of GPUs: {torch.cuda.device_count()}")print(f"GPU Name: {torch.cuda.get_device_name(0)}")
一般是启动jupyter-lab时候的环境不是你的虚拟环境,而是在base环境下,因为我们这里有初始化的环境,切换到自己的环境即可。
4、不知道本地访问lab的地址
使用jupyter-lab界面会有显示,使用http://服务器ip:端口/lab即可访问
相关文章:

在服务器上开Juypter Lab教程(远程访问)
在服务器上开Juypter Lab教程(远程访问) 文章目录 在服务器上开Juypter Lab教程(远程访问)一、安装anaconda1、安装anaconda2、提权限3、运行4、同意协议5、安装6、是否要自动初始化 conda7、结束8、检查 二、Anaconda安装Pytorch…...

【硬件模块】SHT20温湿度传感器
SHT20是一个用IIC通信的温湿度传感器。我们知道这个就可以了。 它支持的电压范围是2.1~3.6V,推荐是3V,所以如果我们的MCU是5V的,那么就得转个电压才能用了。 IIC常见的速率有100k,400k,而SHT20是支持400k的(…...

Redhat 8,9系(复刻系列) 一键部署Oracle23ai rpm
Oracle23ai前言 Oracle Database 23ai Free 让您可以充分体验 Oracle Database 的能力,世界各地的企业都依赖它来处理关键任务工作负载。 Oracle Database Free 的资源限制为 2 个 CPU(前台进程)、2 GB 的 RAM 和 12 GB 的磁盘用户数据。该软件包不仅易于使用,还可轻松下载…...

SIPp uac.xml 之我见
https://sipp.sourceforge.net/doc/uac.xml.html 这个 uac.xml 有没有问题呢? 有! 问题之一是: <recv response"200" rtd"true" rrs"true"> 要加 rrs, 仔细看注释就能看到 问题之二是࿱…...

引领智能家居新风尚,WTN6040F门铃解决方案——让家的呼唤更动听
在追求高效与便捷的智能家居时代,每一个细节都承载着我们对美好生活的向往。WTN6040F,作为一款专为现代家庭设计的低成本、高性能门铃解决方案,正以其独特的魅力,悄然改变着我们的居家生活体验。 芯片功能特点: 1.2.4…...

Android 蓝牙服务启动
蓝牙是Android设备中非常常见的一个feature,设备厂家可以用BT来做RC、连接音箱、设备本身做Sink等常见功能。如果一些设备不需要BT功能,Android也可以通过配置来disable此模块,方便厂家为自己的设备做客制化。APP操作设备的蓝牙功能ÿ…...

【安全系列--处理挖矿】
现象:我们云上waf提示有台服务器存在挖矿行为 解决思路: 1、查看服务器的进程情况 top发现服务的CPU使用率非常高 2、使用性能分析工具perf查看占用的cpu进程 sudo apt install linux-tools-common发现一些kernel进程存在异常 3、使用find查一下这…...

SpringBoot集成Thymeleaf模板引擎,为什么使用(详细介绍)
学习本技术第一件事:你为什么要使用,解决什么问题的? 1.为什么使用(使用背景)? 首先应用场景是单体项目,如果是前后端分离就不用关注这个了,因为单体项目你前后端都是写在一个项目…...

Docker突然宣布:涨价80%
从11月15日起,Docker的付费订阅中Pro和Team的价格都将大幅上调:Pro从原来的5美元每月激增到9美元每月,直接涨了80%;而Team也从之前的9美元每月来到15美元每月,涨价66.7%。只有Business保持此前的24美元每月不变。 同时…...

工厂方法模式和抽象工厂模式
工厂方法模式 一个工厂只能创建一种产品 工厂方法模式的结构 工厂方法模式包含以下4个角色 Product(抽象产品) ConcreteProduct(具体产品) Factory(抽象工厂) ConcreteFactory(具体工厂…...

【星海出品】go语言环境兼install
官网 https://golang.google.cn/dl/ go的安装包下载地址 https://go.dev/dl/ set GO111MODULEon //是否以Go modules的模式运行项目 auto,on,off set GOARCHamd64 //目标可执行程序操作系统构架 包括 386,amd64,arm set GOBIN //项目的第三方可执行文件目…...

Spring 源码解读:自定义实现BeanPostProcessor的扩展点
引言 在Spring的生命周期管理中,BeanPostProcessor是一个非常重要的扩展点。它允许开发者在Bean初始化的前后插入自定义的逻辑,从而实现更灵活的Bean管理。BeanPostProcessor是Spring框架中用于对Bean实例进行修改的机制之一。通过实现该接口࿰…...

Spring Boot-分布式系统问题
Spring Boot 在分布式系统中的常见问题及解决方案 随着互联网的发展,系统规模和复杂度越来越大,分布式系统成为应对高并发、大数据量场景的重要架构选择。Spring Boot 作为一种轻量级的开发框架,广泛应用于构建微服务和分布式系统中。然而&a…...

面试题总结(三) -- 内存管理篇
面试题总结(三) – 内存管理篇 文章目录 面试题总结(三) -- 内存管理篇<1> C 中堆内存和栈内存的区别是什么?<2> 如何在 C 中手动管理内存(new/delete 操作符)?<3> C 中内存泄漏的原因和避免方法<4> 谈谈…...

Qt 定时器-定时备份
定时备份 在Qt 中,可以使用QTimer类来实现定时备份功能。以下是一个示例代码,每隔一段时间自动执行备份操作: #include <QTimer>QTimer timer; int backupInterval 24 * 60 * 60 * 1000;//备份间隔为24小时connect(&timer, &…...

天融信把桌面explorer.exe删了,导致开机之后无windows桌面,只能看到鼠标解决方法
win10开机进入桌面,发现桌面无了,但是可以ctrlaltdelete调出任务管理器 用管理员权限打开cmd,输入: sfc /scanfilec:\windowslexplorer.exe 在运行C:\windows\Explorer.exe;可以进入桌面,但是隔离几秒钟…...

视频分割操作教程
1、打开剪映 2、点击开始创作上面的“”,选择视频,点击添加按钮,导入一个视频素材到剪映 3、滑动视频,让视频竖线到合适位置 4、点击视频,出现白色边框 5、点击工具栏“分割”,然后点击需要删除的视频部分 …...

唯品会大数据面试题及参考答案(3万字长文)
synchronized 和 volatile 的区别 synchronized是 Java 中的关键字,用于实现同步机制,确保在同一时刻只有一个线程可以访问被它修饰的代码块或方法。volatile也是 Java 中的关键字,主要用于保证变量的可见性。 功能方面: synchronized可以保证原子性、可见性和有序性。它通…...

使用容器技术快速入门MinIO
使用容器技术快速入门MinIO 使用容器技术(docker或者podman)快速部署一个单节点单磁盘 MinIO 服务器,用于对MinIO对象存储及其兼容 S3 的 API 层进行早期的开发和评估。 1. 准备工作 机器已经安装了 Podman 或者 Docker 。 对用于持久卷的…...

ros2教程(一):使用python和C++发布摄像头原始图像和压缩图像
1. 使用python发布图像 在ROS 2中,可以通过使用rclpy库来发布压缩图像和原始图像。发布原始图像可以使用sensor_msgs.msg.Image消息类型,压缩图像则使用sensor_msgs.msg.CompressedImage消息类型。 #!/usr/bin/env python3# function: usbcam publish r…...

【自动化测试】UI自动化的分类、如何选择合适的自动化测试工具以及其中appium的设计理念、引擎和引擎如何工作
引言 UI自动化测试主要针对软件的用户界面进行测试,以确保用户界面元素的交互和功能符合预期 文章目录 引言一、UI自动化的分类1.1 基于代码的自动化测试1.2 基于录制/回放的自动化测试1.3 基于框架的自动化测试1.4 按测试对象分类1.5 按测试层次分类1.6 按测试执行…...

深入理解Python中的“_,”:一个实用的语法特性
在Python编程中,你可能经常会看到一个特殊的标识符“_”。这个符号在Python中有多种用途,其具体含义依上下文而定。本文将探讨其中一种常见用法——作为一个临时性的占位符——并解释它在实际编程中的实用性和应用场景。 1. “_”作为占位符 在Python中…...

Mac清理其他文件:释放存储空间的高效指南
每个Mac用户都可能遇到存储空间不足的问题,尤其是当“其他”文件积累到一定体积时。在Mac上,“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意,但逐渐占用了…...

html+css+js网页设计 旅游 龙门石窟4个页面
htmlcssjs网页设计 旅游 龙门石窟4个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…...

CISSP一站通关
依托轻速云维护了一个专注于CISSP备考通关的在线学习平台,提供知识串讲视频,配合大量针对性的习题和重难点习题解析,帮助备考学习者高效学习和巩固知识点。已经帮助100考友顺利通过考试。 知识串讲视频是我主讲的5天直播课程的录屏࿰…...

Golang | Leetcode Golang题解之第406题根据身高重建队列
题目: 题解: func reconstructQueue(people [][]int) (ans [][]int) {sort.Slice(people, func(i, j int) bool {a, b : people[i], people[j]return a[0] > b[0] || a[0] b[0] && a[1] < b[1]})for _, person : range people {idx : pe…...

【我的Android进阶之旅】解决CardView四个圆角有白边的问题
文章目录 一、问题描述二、分析CardView出现白边的原因三、如何解决这个问题?3.1 如何修复?3.2 为什么这样可以修复?3.3 示例代码3.4 总结一、问题描述 在实现一个RecycleView的Item时候,样式需要用到卡片式效果,于是想到用CardView来实现,但是最终发现运行出来的效果,…...

学习笔记JVM篇(四)
垃圾回收器 说完垃圾回收算法接下来就需要对应的垃圾回收器去回垃圾回收器。接下来介绍几种垃圾回收器 1、Serial 串行回收器,是单线程版本,暂停所有的应用。在单CPU的情况下效率是很高的,因为不涉及线程的上下文切换。适用于小型程序和客…...

828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0
《828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0》 在 2024 年 9 月 14 日这个特别的日子,我着手利用华为 Flexus 云服务器搭建轻量级、高性能、前后端分离的电商系统萤火商城 2.0,开启了一段充满挑战与惊喜的旅程。 华为 Flexus 云服…...

centos7安装MySQL5.7.44
下载压缩文件 命令: #放到在/usr/local目录下 cd /usr/local #上传命令选择安装包 rz #解压缩包 tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz #给包重命名为mysql mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql #查看mysql目录下有什么东西 [rootlocal…...