conda安装使用jupyterlab注意事项

news2024/12/30 3:03:01

在这里插入图片描述

文章目录

    • 一、conda安装
      • 1.1 conda安装
      • 1.2 常见命令
      • 1.3 常见问题
    • 二、jupyterlab
      • 2.1 jupyterlab安装和卸载
      • 2.2 常见错误
        • 2.2.1 版本冲突,jupyterlab无法启动
        • 2.2.2 插件版本冲突
      • 2.3 常用插件
        • 2.3.1 debugger
        • 2.3.2 jupyterlab_code_formatter
      • 2.4 jupyter技巧

一、conda安装

Miniconda官网、Miniconda官方文档

1.1 conda安装

  从Miniconda官网下载安装了conda 23.5.2,python版本是 3.11.4,安装时勾选add PATH:
在这里插入图片描述
最终用户变量中的配置为:

在这里插入图片描述

1.2 常见命令

下面是conda常用命令:

conda包管理命令描述
conda create --name myenv python=3.8创建名为myenv的虚拟环境,指定python版本为3.8
conda activate myenv
source activate myenv
激活虚拟环境(windows)
激活虚拟环境(macOS和Linux)
conda install package_name在激活的虚拟环境中安装Python包
conda list列出当前虚拟环境中已安装的包
conda deactivate停用当前虚拟环境
conda env export > environment.yml导出当前虚拟环境的配置到一个YAML文件
conda env create -f environment.yml根据YAML文件创建虚拟环境
conda remove --name myenv --all删除指定名称的虚拟环境及其所有包
conda search package_name搜索可用于安装的包
conda update --all升级当前虚拟环境中的所有包
conda虚拟环境管理命令描述
conda update conda升级conda本身
conda config --show显示conda的配置信息
conda env listconda info --envs列出所有已创建的虚拟环境
conda info --all显示所有conda信息
conda info --env显示当前虚拟环境的详细信息
conda config --set auto_activate_base false禁用默认激活基础环境(默认情况下会自动激活基础环境)
conda config --set auto_activate your_env_name设置your_env_name为默认的激活环境

  默认情况下,conda自动激活base环境为当前使用环境。如果要更改某个环境为默认激活环境,你需要进行一下操作:

conda config --set auto_activate_base false				# 禁用默认激活基础环境
conda config --set auto_activate your_env_name			# 设置your_env_name为默认的激活环境

如果要恢复默认激活base环境,需要运行:

conda config --set auto_activate_base true 				# 恢复默认激活base环境

  首次使用conda config --set命令,会在用户文件夹下创建配置conda文件.condarc,set命令添加的配置信息会写入.condarc文件。使用conda info命令可以查看此配置文件地址:

在这里插入图片描述

  conda默认安装源是Anaconda仓库:

conda config --show-sources    # 显示当前配置的源
conda config --backup          # 备份原始配置文件

接下来,您可以使用以下命令设置国内的镜像源,这样下载速度更快:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  # 清华源
conda config --add channels https://mirrors.aliyun.com/pypi/simple/					  # 阿里源

或者直接在.condarc文件中写入:

# 配置文件中,注释以#符号开头,且不能写行内注释,只能单独放一行
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

  上述配置文件中默认使用清华源进行安装,如果要使用别的安装源,可以使用-c选项显式指定其他渠道。

# conda-forge是配置文件中的channel名称,package_name是安装包的名称
conda install -c conda-forge package_name

  每个渠道都有自己的特定用途和软件包集合,您可以根据自己的需求选择使用其中的一个或多个渠道来安装相关的软件包。

  1. conda-forge:社区驱动的Conda渠道,覆盖了各种领域,包括科学计算、数据分析、机器学习、计算机视觉等。它包含了大量常用的软件包,并且更新频率较高。
  2. msys2:`如果您需要在Windows上构建和运行需要Unix/Linux工具的软件包,这个渠道可能会有用。
  3. biocondabioconda是一个专门用于生物信息学和生物数据分析的Conda渠道。
  4. menpomenpo渠道通常与Menpo项目相关,Menpo是一个计算机视觉和机器学习库。这个渠道包含了与Menpo项目相关的软件包和工具。
  5. pytorchpytorch渠道包含了与PyTorch深度学习框架相关的软件包和工具。
  6. simpleitksimpleitk渠道包含了与SimpleITK(简化的医学图像处理工具包)相关的软件包和工具。

1.3 常见问题

  1. Anaconda powershell Promp报错
    打开Anaconda powershell Promp出现如下报错:
无法将“E:\miniconda\Scripts\conda.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包
括路径,请确保路径正确,然后再试一次。
所在位置 C:\Users\LS\Documents\WindowsPowerShell\profile.ps1:4 字符: 4
+ (& "E:\miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out- ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (E:\miniconda\Scripts\conda.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

这是因为之前安装的conda在PowerShell 配置文件 profile.ps1 中残留了相关配置信息(& "E:\miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out- ...,只需要将其改为:

(& "D:\Miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression

之前安装在E盘,卸载之后没有清理powershell中的配置信息,现在改为D盘的安装目录就行

  1. 系统重装之后快捷方式失效
    在这里插入图片描述
    conda安装之后,会在开始菜单栏自动生成上面两个快捷启动方式,系统重装之后会失效。此时重新安装,会另外再生成一组,之前失效的删除就行
  2. 卸载问题
    conda安装启动之后,会在用户文件夹生成.conda文件夹和.condarc文件,如果要卸载conda,需要清理这些文件。

二、jupyterlab

2.1 jupyterlab安装和卸载

  使用conda install命令进行安装,jupyterlab最新只有3.6.3版本。所以直接使用pip install安装jupyterlab 4.0.6。然后使用以下命令安装 JupyterLab 的中文语言包:

pip install jupyterlab-language-pack-zh-CN

另外还安装了E:\nlp\ChatGLM2-6B-mainE:\nlp\alpaca-lora-main下的requirements.txt,以及sentence-transformers, faiss-cpu,blingfire

如果要完全卸载 jupyterlab,运行以下命令:

pip uninstall jupyterlab    # pip安装的执行此命令
conda uninstall jupyterlab  # conda安装的执行此命令
# JupyterLab 会在用户的 home 目录下创建一个配置文件夹,需要删除
rm -r ~/.jupyter

在这里插入图片描述
另外还需要删除 JupyterLab 扩展和内核

# 列出已安装的扩展和内核
jupyter labextension list
jupyter kernelspec list
# 卸载扩展和内核
jupyter labextension uninstall 扩展名称
jupyter kernelspec uninstall 内核名称

2.2 常见错误

2.2.1 版本冲突,jupyterlab无法启动

正常安装成功jupyterlab之后,在cmd中可以使用以下命令查看版本信息

jupyter-lab --version
4.0.6

然后使用jupyter-lab启动jupyterlab,或者在地址栏输入jupyter lab在指定目录启动jupyterlab:

在这里插入图片描述

E盘启动jupyterlab

  但是有一次这两种方式都无法启动,且输入jupyter-lab命令时报错某些包无法导入。估计是我conda安装了jupyterlab 3.6.3,pip安装了jupyterlab 4.0.6,导致版本冲突。因为安装jupyterlab时会同时安装很多依赖包,虽然我是卸载上一个安装版本,但是依赖包并没有卸载,导致新的jupyterlab版本启动时冲突。

2.2.2 插件版本冲突

jupyterlab 4直接集成了debugger,一开始不知道,在插件管理器中没搜出来,直接pip安装:

jupyter labextension install @jupyterlab/debugger

结果每次启动jupyterlab时都报错(虽然还是可以启动,但是看着报错就很烦)

2.3 常用插件

2.3.1 debugger

debugger文档

jupyterlab 2或3版本可以直接在插件管理器中安装jupyterlab/debugger:
在这里插入图片描述

  jupyterlab 4直接集成了debugger,可以点击notebook右上角的调式按钮(蓝色框),其显示红色就是进入了调试模式。然后和pycharm一样,在需要调试的地方打上断点。点击view-debugger或者右侧边栏的调试按钮(红色框),就可以打开显示调试信息的地方。
在这里插入图片描述
  上面是使用transformers库进行多选问答时,自定义DataCollatorForMultipleChoice类的代码。在运行以下代码时,会自动跳到断点位置,显示变量信息:

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_train_ds,
    eval_dataset=tokenized_train_ds,
    tokenizer=tokenizer,
    data_collator=DataCollatorForMultipleChoice(tokenizer=tokenizer),
)
trainer.train()

在这里插入图片描述

  • 变量区有列表和树状两种显示方式,变量的值没有显示完全,可以直接复制出来查看。默认变量窗口显示四行,如果不够可以下拉变量窗口。
  • 中间是调试操作按钮,可以点击,也可以使用对应快捷键。
  • 下面的源文件区和左侧都显示调试是代码停止的位置。

例如调试看出变量的格式:

label_name = "label" if 'label' in features[0].keys() else 'labels'    
# 原始features(4个样本)    
[{'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0},
 {'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0},
  {'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 1}, 
  {'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0}]
# 对每个样本(feature,字典格式)使用pop删除key为label的键值对,返回被删除的值
# 所以feature被删除了label键值对,而labels的值是四个样本label列表[0, 0, 1, 0]
labels = [feature.pop(label_name) for feature in features]

# 去除label的后的feature(一个样本)
{'input_ids': [[...], [...], [...], [...], [...]],
 'token_type_ids': [[...], [...], [...], [...], [...]], 
 'attention_mask': [[...], [...], [...], [...], [...]]}
2.3.2 jupyterlab_code_formatter

github仓库

jupyterlab_code_formatter 主要用于格式化代码,支持多种语言:

动图

2.4 jupyter技巧

参考《JupyterLab 极其强大的 10 个秘密技巧》

  1. 多行选择
    在这里插入图片描述
  2. 添加虚拟环境
    使用以下命令将虚拟环境作为内核添加到Jupyter Lab,这样就可以作为一个选项出现在Launcher或内核列表的右上角:
 $ pip install ipykernel  
 $ ipython kernel install --user --name=new_or_existing_env_name

注意:以上代码需要在你需要添加的虚拟环境使用,而不是jupyter lab的环境

  1. 使用jupyter run命令运行notebook
    使用jupyter run命令,可以像Python脚本一样顺序执行每个笔记本单元格。该命令会以JSON的形式返回每个单元格的输出,所以如果有大量文本输出可能会卡顿。我们可以将不同的超参数保存到单个笔记本中然后运行,这样可以保存运行记录。
 jupyter run path_to_notebook.ipynb
  1. 分割编辑器窗口
    Jupyter Lab的窗口以标签的形式展示,我们一次可以打开好几个编辑窗口,并且可以拖动窗口,将编辑器窗口分割,演示如下:

  2. 随时查看文档
    有三种方法可以直接从编辑器中查找几乎任何函数或魔法命令的文档。

    1. 使用Shift + Tab键盘快捷键(默认),它会显示一个弹出窗口,其中包含光标所在的函数或类的文档:
      在这里插入图片描述
    2. 上下文帮助:如果不喜欢点击其他地方后弹出窗口消失,还可以通过帮助菜单或Ctrl + I使用上下文帮助。上下文帮助显示游标指向的函数或类的实时文档。
    1. 简单地在函数或类名的末尾添加一个问号(不带括号) 在这里插入图片描述
  3. 使用感叹号(!)运行终端命令

# 查看目录
!pwd

  下面是一个更实际的例子。假设有一个数据文件夹,其中包含用于模型训练的图像。所有图像都根据它们的类被分类到目录中。现在需要使用一个快速的方法来计算data/raw/train内部的目录数量,并将其输出存储在number_of_classes中:

 number_of_classes = !ls -1 data/raw/train | wc -l  
   
 >>> print(number_of_classes)  
 43

一句shell命令就能解决问题,这样就不用我们写python的目录遍历代码了

  1. winsound通知执行
    winsound 是 Python 标准库中的一个模块,它允许你在 Windows 操作系统上控制声音和播放简单的声音效果。主要用于创建音频提醒、警告或播放简单的声音文件,通常用于命令行脚本、小工具或基本的声音控制需求。
    winsound 模块提供了一些主要的功能和方法,包括:

    1. Beep(frequency, duration): 用来发出蜂鸣声。frequency 指定了蜂鸣声的频率(以赫兹为单位),duration 指定了蜂鸣声的持续时间(以毫秒为单位)。

    2. PlaySound(sound, flags): 该函数允许你播放.wav格式的声音文件(不支持mp3等复杂音频格式)。sound 参数是声音文件的文件名或路径,flags 参数用于指定播放的方式和行为,例如是否循环播放、异步播放等。

    3. MessageBeep(type): 这个函数可以用来发出系统定义的警告声音,type 参数指定了警告声音的类型。

以下是一个简单的示例,演示了如何使用 winsound 模块发出蜂鸣声:

 import winsound  
 # 训练模型
 ......
 trainer.train()
 # 训练完成后进行通知
 duration = 5000  
 frequency = 440     
 winsound.Beep(frequency, duration)
  1. 自动重载和高亮显示脚本

  如果我们更新了导入的脚本,除非重新启动内核,否则Jupyter将不会自动检测到更改,这会产生很多问题。所以我们可以使用autoreload 命令来避免这个问题:

 %load_ext autoreload  
 %autoreload 1

上述代码将每秒钟检测并刷新一次内核。它不仅会检测脚本更改,还会检测对所有文件的更改。

  另外对于python脚本,我们还可以使用pycat命令来以语法高亮的形式显示Python脚本的内容。对于其他文件格式,可以使用cat命令。
在这里插入图片描述

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

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

相关文章

聊聊分布式架构——Http到Https

目录 HTTP通信协议 请求报文 响应报文 持久连接 状态管理 HTTPS通信协议 安全的HTTPS HTTP到HTTPS的演变 对称加密 非对称加密 混合加密机制 证书机构 SSL到底是什么 HTTPS是身披SSL外壳的HTTP HTTP通信协议 一次HTTP请求的通信流程:客户端浏览器通过…

【C++】STL简介(了解)

一、什么是STL STL (standard template libaray- 标准模板库 ) : 是 C 标准库的重要组成部分 ,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架 。 二、STL的版本 原始版本 Alexander Stepanov 、 Meng Lee 在惠普实验…

swift加载h5页面空白

swift加载h5页面空白 problem 背景 xcode swift 项目,WebView方式加载h5页面本地h5地址是:http://localhost:5173/ 浏览器打开正常 Swift 加载h5: 百度官网 加载正常本地h5页面 加载空白,没有报错 override func viewDidLoad…

RabbitMQ-工作队列

接上文 RabbitMQ-死信队列 1 工作队列模式 xx模式只是一种设计思路,并不是指具体的某种实现,可理解为实现XX模式需要怎么去写业务代码。 之前的是简单的一个消费者一个生产者模式,下边是一个生产者多个消费者的情况: 这里先定义两…

想要精通算法和SQL的成长之路 - 最长连续序列

想要精通算法和SQL的成长之路 - 最长连续序列 前言一. 最长连续序列1.1 并查集数据结构创建1.2 find 查找1.3 union 合并操作1.4 最终代码 前言 想要精通算法和SQL的成长之路 - 系列导航 并查集的运用 一. 最长连续序列 原题链接 这个题目,如何使用并查集是一个小难…

带你10分钟学会红黑树

前言: 我们都知道二叉搜索树,是一种不错的用于搜索的数据结构,如果二叉搜索树越接近完全二叉树,那么它的效率就会也高,但是它也存在的致命的缺陷,在最坏的情况下,二叉搜索树会退化成为单链表&am…

Spring三大核心组件

Spring架构图 Spring三大核心组件分别为:Core、Beans和Context 1. Core(核心): 思想:Core组件的核心思想是控制反转(IoC)和依赖注入(DI)。它将对象的创建、组装和管理的…

【图像处理】使用各向异性滤波器和分割图像处理从MRI图像检测脑肿瘤(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

番外--Task2:

任务:root与普通用户的互切(区别),启动的多用户文本见面与图形界面的互切命令(区别)。 输入图示命令,重启后就由图形界面转成文本登录界面; 输入图示命令,重启后就由文本…

Netron【.pt转.torchscript模型展示】

Netron是一个模型的展示工具,它有网页版和app版: 网页版:Netron app版:GitHub - lutzroeder/netron: Visualizer for neural network, deep learning, and machine learning models 直接用网页版吧,还不用安装。 它可…

【kubernetes】CRI OCI

1 OCI OCI(Open Container Initiative):由Linux基金会主导,主要包含容器镜像规范和容器运行时规范: Image Specification(image-spec)Runtime Specification(runtime-spec)runC image-spec定义了镜像的格式,镜像的格式有以下几…

竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

【SpringBoot】配置文件详解

配置文件详解 一. 配置文件作用二. 配置文件的格式1. properties 配置文件说明①. properties 基本语法②. 读取配置⽂件③. properties 缺点 2. yml 配置⽂件说明①. yml 基本语法②. yml 使用进阶 3. properties VS yml 三. 设置不同环境的配置⽂件 一. 配置文件作用 整个项…

jsbridge实战1:xcode swift 构建iOS app

[[toc]] 环境安装 macOs: 10.15.5 xcode: 11.6 demo:app 创建 hello world iOS app 创建工程步骤 选择:Create a new Xcode project选择:iOS-> single View App填写: project name: swift-app-helloidentifer: smile 包名language: s…

基于Android的香格里拉美食分享APP/美食分享平台/基于android的美食平台

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的APP应运而生,各行各业相继进入信息管理时代&#x…

Youtube视频下载工具分享-油管视频,音乐,字幕下载方法汇总

YouTube视频下载方法简介 互联网上存在很多 YouTube 下载工具,但我们经常会发现自己收藏的工具没过多久就会失效,我们为大家整理的这几种方法,是存在时间较久并且亲测可用的。后续如果这些工具失效或者有更好的工具,我们也会分享…

【多线程进阶】死锁问题

文章目录 前言1. 什么是死锁1.1 死锁的三种典型情况 2. 死锁产生的必要条件3.如何解决死锁问题总结 前言 上文锁策略中, 当谈到可重入锁和不可重入锁时, 我们引入了一个 “死锁” 的概念, 当针对一把不可重入锁进行连续两次的加锁行为时, 就会产生死锁. 本文就重点来讲解一下…

QT调用python程序出现问题Failed to get function

问题描述: 1.python中程序运行正常但在QTC的配置中使用Python.h调用python程序时出现Failed to get function问题,去掉python中某个包的应用就可以,比如: python部分程序: import os.path import pandas as pd如果在…

第十二届2023软件杯国家二等奖赛后感想总结

一,相关链接 软件杯官网:软件杯大赛官网 (cnsoftbei.com) 金蝶赛道:金蝶云苍穹开发者门户 (kingdee.com) 二,个人介绍 首先我是个双非院校的学生,专业为计算机科学与技术,打这个比赛是在大二下的暑假开始的…

【10】c++设计模式——>依赖倒转原则

关于依赖倒转原则,对应的是两条非常抽象的描述: 1.高层模块不应该依赖低层模块,两个都应该依赖抽象。 2.抽象不应该依赖细节,细节应该依赖抽象。 先用人话解释一下这两句话中的一些抽象概念: 1.高层模块:可…