在服务器上开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

image-20240913140621989

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,这意味着所有者、组和其他用户都可以执行这个文件。

image-20240913140943161

3、运行

image-20240913141047499

4、同意协议

image-20240913141241856

5、安装

image-20240913141257999

6、是否要自动初始化 conda

image-20240913141434024

yes:选择 “yes” 后,conda 会在每次启动终端时自动激活 base 环境。

no(默认):选择 “no” 后,conda 不会自动激活 base 环境,但你仍然可以通过手动命令激活环境。

7、结束

Tips:For changes to take effect, close and re-open your current shell.

我们需要关闭当前终端窗口,然后重新打开一个新的终端窗口。

image-20240913141455571

8、检查
conda -V

image-20240913141658671

二、Anaconda安装Pytorch

配置我尽量按照如下进行设置

image-20240913142304783

1、安装pytorch
conda create -n pytorch_zhanyong python=3.8

image-20240913142507857

2、检查和激活环境

image-20240913142712968

conda activate pytorch_zhanyong
  1. base 环境
  • 默认环境base 是 Conda 安装时默认创建的环境。当你第一次安装 Anaconda 或 Miniconda 时,base 环境自动生成,并包含了 Anaconda 默认的一些包,比如 numpypandasmatplotlib 等常用的科学计算库。
  • 全局环境:通常,base 环境包含了你可以使用的所有基础工具包和管理命令,如 conda 命令本身。它通常不建议用作日常开发的工作环境,因为安装过多包可能导致依赖冲突或版本管理问题。
  • 包较多base 环境默认安装了 Anaconda 或 Miniconda 中附带的大量包,可能比较臃肿。
  1. 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

image-20240913143218127

安装结束

image-20240913143724832

4、检查python版本
python --version

image-20240913143942487

5、检查虚拟环境
conda info --envs

image-20240913144023776

三、安装JuypterLab

1、安装

远程服务器ubuntu安装Jupyter Lab详细教程_ubuntu jupyter-CSDN博客

image-20240913181711755

conda install -c anaconda jupyter
2、生成配置文件
jupyter notebook --generate-config
#生成的文件位于:~/.jupyter/jupyter_notebook_config.py #配置文件
3、设置密码

在终端中直接输入

jupyter notebook password

输入自己设置的密码即可,主要是用于后续远程登录的密码

image-20240913182122456

image-20240913182328383

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环境是否配置成功

image-20240913184106357

五、启动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命令后输入的密码

image-20240913235818964

检查是否可用

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环境下,因为我们这里有初始化的环境,切换到自己的环境即可。

image-20240913235309035

4、不知道本地访问lab的地址

使用jupyter-lab界面会有显示,使用http://服务器ip:端口/lab即可访问

image-20240913235520881

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

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

相关文章

python 自动化测试接口

比如我们要测试接口&#xff1a;identity/chatRecords/pages 已在Postman中有&#xff0c;那我们就可以直接从里面复制出Python脚本 新建&#xff1a; pagerequest.py import requests import jsonurl "http://192.168.31.132:70/identity/chatRecords/pages"payl…

基于AgentUniverse在金融场景中的多智能体应用探索

基于AgentUniverse在金融场景中的多智能体应用探索 1.基于大模型智能体超级状态机 智能体、多智能体都是当下的技术热点,但作为一个技术人应该理解,所有的技术都有自己所针对的问题、及其能力边界,并不存在普适的、放诸业务场景皆 work 的技术方案。在这里尝试区分,从大模…

[数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1245 标注数量(xml文件个数)&#xff1a;1245 标注数量(txt文件个数)&#xff1a;1245 标注…

2024年华为9月4日秋招笔试真题题解

2024年华为0904秋招笔试真题 二叉树消消乐好友推荐系统维修工力扣上类似的题--K站中转内最便宜的航班 二叉树消消乐 题目描述 给定原始二叉树和参照二叉树(输入的二叉树均为满二叉树&#xff0c;二叉树节点的值范围为[1,1000]&#xff0c;二叉树的深度不超过1000)&#xff0c…

线性表之单链表

在上一节我们学习了线性表中的顺序表&#xff0c;今天我们来学习一下线性表中的另一种结构——单链表 前言 我们在之前已经初步了解了数据结构中的两种逻辑结构&#xff0c;但线性结构中并非只有顺序表一种&#xff0c;它还有不少兄弟姐妹&#xff0c;今天我们再来学习一下单链…

Python基础语法(3)下

列表和元组 列表是什么&#xff0c;元组是什么 编程中&#xff0c;经常需要使用变量&#xff0c;来保存/表示数据。变量就是内存空间&#xff0c;用来表示或者存储数据。 如果代码中需要表示的数据个数比较少&#xff0c;我们直接创建多个变量即可。 num1 10 num2 20 num3…

[数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1123 标注数量(xml文件个数)&#xff1a;1123 标注数量(txt文件个数)&#xff1a;1123 标注…

【重学 MySQL】二十九、函数的理解

【重学 MySQL】二十九、函数的理解 什么是函数不同 DBMS 函数的差异函数名称和参数功能实现数据类型支持性能和优化兼容性和可移植性 MySQL 的内置函数及分类单行函数多行函数&#xff08;聚合函数&#xff09;使用注意事项 什么是函数 函数&#xff08;Function&#xff09;在…

秋韵虫趣.

文章目录 虫鸣概览虫坛文化蟀种纷呈中华蟋蟀宁阳蟋蟀刻点铁蟋长颚斗蟋 油葫芦棺头蟋中华灶蟋小素蟋树皮蟋蟀 花生大蟋斑腿针蟋其他鸣虫树蟋&#xff0c;又名竹蛉、邯郸梨片蟋&#xff0c;又名金钟、天蛉、绿蛣蛉、银琵琶凯纳奥蟋&#xff0c;又名石蛉&#xff0c;鳞蟋黄蛉蟋&am…

Python | Leetcode Python题解之第409题最长回文串

题目&#xff1a; 题解&#xff1a; class Solution:def longestPalindrome(self, s: str) -> int:ans 0count collections.Counter(s)for v in count.values():ans v // 2 * 2if ans % 2 0 and v % 2 1:ans 1return ans

本地部署大模型并使用知识库Windows下Ollama+Docker+MaxKB安装的记录

概要 本文介绍本地部署大模型和知识库的小白方法&#xff0c;可以运行较多种类的大模型&#xff0c;使用的软件为docker和ollama以及MaxKb作为知识库前端。 下载 各安装包可以百度去官网或者github下载或使用&#xff0c;也可以点击下面的的链接和我下载相同的版本。 ollama…

Lnux-gcc/g++使用

目录 1.gcc/g介绍 1.什么是 gcc / g 2.gcc/g指令格式 2. gcc / g 实现程序翻译的过程 1.预处理(进行宏替换) 2.编译(生成汇编&#xff09; 3.汇编&#xff08;生成机器可识别代码&#xff09; 4.连接&#xff08;生成可执行文件或库文件&#xff09; 1.gcc/g介绍 1.什么…

小明震惊OpenAI 的新模型 01

在硅谷的中心&#xff0c;繁忙的咖啡馆和创业中心周围&#xff0c;年轻的软件工程师小明坐在他的办公桌前&#xff0c;面露困惑。科技界一直在盛传一项新的AI突破&#xff0c;但他持怀疑态度&#xff0c;不敢抱太大希望。他认为AI泡沫即将破灭&#xff0c;炒作列车即将出轨&…

【计算机网络】网络通信中的端口号

文章目录 一、引入端口号二、端口号的作用三、端口号的确定 在TCP/IP协议中&#xff0c;传输层有两个重要的协议&#xff1a;TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;。TCP用于提供可靠的数据传输&#xff0c;而UDP则适合用于广播…

电子电气架构 --- 基于ISO 26262的车载电子软件开发流程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

《ImageNet Classification with Deep Convolutional Neural Networks》论文导读

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl《ImageNet Classification with Deep Convolutional Neural Networks》是一篇在深度学习领域具有重要影响力的论文,由Alex Krizhevsky、Ilya Sutskever和Geoffrey E. Hinton等人撰写。该论文主要…

golang实现正向代理http_proxy和https_proxy

package mainimport ("bytes""fmt""io""log""net""net/url""strings" )func main() {// tcp 连接&#xff0c;监听 8080 端口l, err : net.Listen("tcp", ":8080")if err ! nil {l…

FTP、SFTP安装,整合Springboot教程

文章目录 前言一、FTP、SFTP是什么&#xff1f;1.FTP2.SFTP 二、安装FTP1.安装vsftp服务2.启动服务并设置开机自启动3.开放防火墙和SELinux4.创建用户和FTP目录4.修改vsftpd.conf文件5.启动FTP服务6.问题 二、安装SFTP1、 创建用户2、配置ssh和权限3、建立目录并赋予权限4、启动…

Wophp靶场寻找漏洞练习

1.命令执行漏洞 打开网站划到最下&#xff0c;此处的输入框存在任意命令执行漏洞 输入命令whoami 2.SQL注入 搜索框存在SQL注入&#xff0c;类型为整数型 最终结果可以找到管理员账户和密码 3.任意文件上传漏洞 在进入管理员后台后&#xff0c;上传木马文件 访问该文件&…

博客系统测试报告

当我们至少完成了一次项目的功能测试后&#xff0c;我们可以写一篇测试报告出来。在这里&#xff0c;我先完成了功能测试&#xff0c;自动化测试&#xff0c;又进行了弱网测试&#xff0c;我们把它们都编入测试报告&#xff0c;来写出一篇简单的博客系统测试报告 Gitee源码&am…