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.hqwc.cn/news/127607.html

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

相关文章

Docker数据管理

容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volume Dontainers) Docker的数据管理 数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上&…

云服务器CVM_云主机_云计算服务器_弹性云服务器-腾讯云

腾讯云服务器CVM提供安全可靠的弹性计算服务,腾讯云明星级云服务器,弹性计算实时扩展或缩减计算资源,支持包年包月、按量计费和竞价实例计费模式,CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格,提供9个9的数…

微服务学习(十一):安装Git

微服务学习(十一):安装Git 1、下载Git 官网下载Git 2、将下载后的资源包上传到服务器 3、解压并安装 tar -zxvf git-2.42.0.tar.gz4、安装依赖 yum install zlib yum install zlib-devel5、执行操作命令 cd /home/git/git-2.42.0 ./co…

Nginx高级 第一部分:扩容

Nginx高级 第一部分:扩容 通过扩容提升整体吞吐量 1.单机垂直扩容:硬件资源增加 云服务资源增加 整机:IBM、浪潮、DELL、HP等 CPU/主板:更新到主流 网卡:10G/40G网卡 磁盘:SAS(SCSI) HDD(机械…

使用springboot服务端远程调试? 试试HTTP实现服务监听

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《初阶数据结构》《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 wi…

Linux 部署项目

部署 Linux 部署项目1. 宝塔部署1.1 前端部署1.2 后端部署 2. docker 部署2.1 后端部署2.2 前端部署 3. 跨域问题3.1 Nginx 代理(推荐)3.2 修改后端服务3.3 添加 web 全局请求拦截器 4. 域名解析DNSPod添加域名 Linux 部署项目 1. 宝塔部署 准备工作&am…

从0开始python学习-31.selenium 文本输入框、下拉选择框、文件上传、时间插件选择元素定位

目录 1. 纯文本输入框 2. 存在默认值的文本输入 3. 下拉选择框 4. 输入后下拉选择框 5. 文件上传 6. 时间插件 1. 纯文本输入框 driver.find_element(By.XPATH,/html/body/div[2]/td[2]/input).send_keys(测试名称) 2. 存在默认值的文本输入 注意: 1. 这种存…

中小企业车间生产管理方案

车间生产管理,员工该如何做?工厂效率上不去,应该怎么提高? 与其靠人力,不如靠“外力”,通过流程化的生产管理系统,将每个流程都置于规范的管理下,优化制造业务流程,整合…

深入了解快速排序:原理、性能分析与 Java 实现

快速排序(Quick Sort)是一种经典的、高效的排序算法,被广泛应用于计算机科学和软件开发领域。本文将深入探讨快速排序的工作原理、步骤以及其在不同情况下的性能表现。 什么是快速排序? 快速排序是一种基于分治策略的排序算法&am…

【python爬虫】闲鱼爬虫,可以爬取商品

目录 前言 一、介绍 二、爬虫流程 1. 确定关键词并构造URL 2. 发送网络请求 3. 解析HTML并提取数据 4. 保存数据 三、使用代理IP 四、完整代码 五、总结 前言 闲鱼是一个很受欢迎的二手交易平台,但是由于没有开放API,我们需要使用爬虫来获取数…

视频转GIF:快速生成有趣的动态图片

随着社交媒体的快速发展,GIF动态图片已经成为了人们表达情感、分享生活片段的重要方式。将视频片段转换成GIF动态图片,可以让人们更好地分享和表达自己的情感,也可以让一些有趣的瞬间变得更加生动有趣。本文将介绍如何将视频快速转换成GIF动态…

TomCat关键技术

一、Tomcat 是什么 Tomcat 是一个 HTTP 服务器。通过前面的学习,我们知道HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式,同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端。HTTP 服务器我们也同样可以通过 Java Socket 来实现. 而 Tomcat 就是基于 J…