conda安装使用jupyterlab注意事项

在这里插入图片描述

文章目录

    • 一、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/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: 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.mzph.cn/news/98897.shtml

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

相关文章

ThreeJS-3D教学七-交互

在threejs中想要选中一个物体,点击或者鼠标悬浮,又或者移动端的touch事件,核心都是通过new THREE.Raycaster完成的。这里用到了一个概念,即我们点击时的 屏幕坐标 转换为 three中的3D坐标。 先看效果图: 代码是&#…

掌握这3点,企业就能规避收款业务中的合规风险

随着国家政策监管日趋严格,企业合规管理正在受到高度关注。在企业收业务款场景中,银行回单管理容易被忽略,若处理不当,将面临合规风险。具体表现如下: 审计依据不充分 银行回单是企业内部控制和合规管理的重要组成部…

vue3 集成 tailwindcss

tailwindcss 介绍 Tailwind CSS 是一个流行的前端框架,用于构建现代、响应式的网页和 Web 应用程序。它的设计理念是提供一组可复用的简单、低级别的 CSS 类,这些类可以直接应用到 HTML 元素上,从而加速开发过程并提高样式一致性。 主要特点…

大语言模型学到什么

背景: 这篇文章是对《LANGUAGE MODELS REPRESENT SPACE AND TIME》论文的翻译加解读。之所以选这篇文章是因为最近在研究大模型的可解释性,以及基于可解释性对大模型的下游任务适配做训练级别可控性增强研究。其实总结成两句话就是: 1.大模…

Spring【@Resource、@Autowired+lombook+Bean的生命周期】

Resource 和 Autowired 的区别 在Spring中找Bean的两种方式:①先根据类型查找②再根据名称查找 Autowired先根据类型查找,再根据名称查找【根据上述查找结果不唯一,再添加一个 Qualifier(value“”),就可以查找】 Resource先根据名…

【12】c++设计模式——>单例模式练习(任务队列)

属性: (1)存储任务的容器,这个容器可以选择使用STL中的队列(queue) (2)互斥锁,多线程访问的时候用于保护任务队列中的数据 方法:主要是对任务队列中的任务进行操作 &…

【C++ 学习 ㉖】- 布隆过滤器详解(哈希扩展)

目录 一、布隆过滤器的简介 二、布隆过滤器的实现 2.1 - BloomFilter.h 2.2 - test.cpp 一、布隆过滤器的简介 布隆过滤器(Bloom Filter)是由 Burton Howard Bloom 在 1970 年提出的一种紧凑型的、比较巧妙的概率型数据结构(probabilist…

【排序算法】插入排序

文章目录 一:基本概念1.1 介绍1.2 原理1.3 插入排序法思想 二:代码实现2.1 源码2.2 执行结果2.3 测试八万条数据 三:算法分析3.1 时间复杂度3.2 空间复杂度3.3 稳定性 一:基本概念 1.1 介绍 插入式排序属于内部排序法&#xff0…

基于KubeAdm搭建多节点K8S集群

基于KubeAdm搭建多节点K8S集群 1、基本流程(注意 docker 版本和kubeadm、kubelet、kubectl的关系)2、安装utils依赖(安装范围:主节点工作节点)3、安装docker (安装范围:主节点工作节点&#xff…

Maven 自动化构建

自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api, 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 …

Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow)

文章目录 效果一览文章概述程序设计参考资料效果一览 文章概述 Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow) 程序设计 import numpy as np import matplotlib.pyplot

TCP和UDP的由浅到深的详细讲解

目录 前言 一.TCP 1.1 什么是TCP? 1.2TCP的连接与释放(确认应答机制) 1.2.1三次握手 1.2.2四次挥手 1.3TCP滑动窗口(效率机制) 1.4流量控制(安全机制) 1.5拥塞控制(安全机制&#xff0…

【力扣1812】判断国际象棋棋盘中一个格子的颜色

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:判断国际象棋棋盘中一个格子的颜色 给你一个坐标 coordina…

环信web、uniapp、微信小程序SDK报错详解---登录篇

项目场景: 记录对接环信sdk时遇到的一系列问题,总结一下避免大家再次踩坑。这里主要针对于web、uniapp、微信小程序在对接环信sdk时遇到的问题。主要针对报错400、404、401、40 (一) 登录用户报400 原因分析: 从console控制台输出及networ…

【C++】哈希与布隆过滤器

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

Unity 之 EditorGUILayout.BeginHorizontal/EndHorizontal异常报错问题

报错内容: 缘由:由于在EditorGUILayout.EndHorizontal()之前执行了类似打开窗口的逻辑 解决办法: 在EditorGUILayout.EndHorizontal()之前执行GUIUtility.ExitGUI();

javascript制作简单的富文本,基本功能都实现,除了上传图片只能用URL

//所有的图标用的字符,以后可以换成网上的css-icon图标库的图标,再设置一下css样式即可简单的使用 //这里所有的标签元素都是直接获取,没有使用委托,如果使用委托性能会更好,这里只做了简单的清理,让内存回…

利用KerasCV YOLOv8轻松实现目标精确检测

本文中将实现基于KerasCV YOLOv8的交通灯信号检测,并附录完整代码。。 自从You Only Look Once(简称 YOLO)的诞生以来,目标检测问题主要通过深度学习来解决。大多数深度学习架构通过巧妙地将目标检测问题构建为多个小分类问题和回归问题的组合来实现。具体而言,它是通过在…

Redis-04独立功能的实现

1、发布与订阅 介绍: Redis的发布与订阅功能由PUBLISH、SUBSCRIBE、PSUBSCRIBE等命令组成。通过SUBSCRIBE命令,客户端可以订阅一个或多个频道,成为这些频道的订阅者(subscriber)每当有其他客户端向被订阅的频道发送消…

监控搭建-Prometheus

监控搭建-Prometheus 1、背景2、目标3、选型4、Prometheus4.1、介绍4.2、架构4.3、构件4.4、运行机制4.5、环境介绍4.6、数据准备4.7、网络策略4.7.1、主机端口放行4.7.2、设备端口放行 4.8、部署4.9、验证4.10、配置 1、背景 随着项目信息化进程的推进,操作系统、…