Conda를 설치하고 jupyterlab을 사용할 때 주의할 사항

여기에 이미지 설명을 삽입하세요.

1. 콘다 설치

Miniconda 공식 웹사이트 , Miniconda 공식 문서

1.1 콘다 설치

Miniconda 공식 웹사이트   에서 conda 23.5.2를 다운로드하여 설치했습니다 . Python 버전은 3.11.4입니다. 설치 중 추가 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 config --show Conda 구성 정보 표시
conda env list또는conda info --envs 생성된 모든 가상 환경 나열
conda info --all 모든 콘다 정보 표시
conda info --env 현재 가상 환경의 세부 정보 표시
conda config --set auto_activate_base false 기본 환경의 기본 활성화 비활성화(기본 환경은 기본적으로 자동 활성화됨)
conda config --set auto_activate your_env_name your_env_name을 기본 활성화 환경으로 설정

  기본적으로 conda는 기본 환경을 현재 환경으로 자동 활성화합니다. 환경을 기본 활성화 환경으로 변경하려면 다음을 수행해야 합니다.

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

기본 활성화 기본 환경을 복원하려면 다음을 실행해야 합니다.

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

conda config --set명령을 처음   사용하면 사용자 폴더에 구성 conda 파일이 생성되고 set 명령으로 추가된 구성 정보가 파일 .condarc에 기록됩니다 . .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:`이 채널은 Unix/Linux 도구가 필요한 Windows에서 패키지를 빌드하고 실행해야 하는 경우 유용할 수 있습니다.
  3. bioconda: bioconda생물정보학 및 생물학적 데이터 분석을 전문으로 하는 Conda 채널입니다.
  4. menpo: menpo채널은 컴퓨터 비전 및 머신러닝 라이브러리인 Menpo 프로젝트와 연결되는 경우가 많습니다. 이 채널에는 Menpo 프로젝트와 관련된 소프트웨어 패키지 및 도구가 포함되어 있습니다.
  5. pytorch: pytorch채널에는 PyTorch 딥 러닝 프레임워크와 관련된 패키지 및 도구가 포함되어 있습니다.
  6. simpleitk: simpleitk채널에는 SimpleITK(Simplified Medical Image Treatment Toolkit)와 관련된 소프트웨어 패키지 및 도구가 포함되어 있습니다.

1.3 FAQ

  1. Anaconda powershell 프롬프트 오류 메시지
    Anaconda powershell 프롬프트를 열면 다음 오류 메시지가 나타납니다.
无法将“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를 제거하려면 이러한 파일을 정리해야 합니다..conda.condarc

2, 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-main에도 설치되어 있습니다 .E:\nlp\alpaca-lora-mainrequirements.txtsentence-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-labjupyterlab을 시작하거나 주소 표시줄에 다음을 입력하여 jupyter lab지정된 디렉터리에서 jupyterlab을 시작합니다.

여기에 이미지 설명을 삽입하세요.

E 디스크에서 jupyterlab 시작

  하지만 일단 두 메소드 모두 시작할 수 없었고, jupyter-lab명령을 입력하면 일부 패키지를 가져올 수 없다는 오류가 발생했습니다. conda에는 jupyterlab 3.6.3, pip에는 jupyterlab 4.0.6을 설치하여 버전 충돌이 발생한 것으로 추정됩니다. jupyterlab을 설치하면 여러 개의 종속 패키지가 동시에 설치되기 때문에 이전 설치 버전을 제거했는데도 종속 패키지가 제거되지 않아 새 jupyterlab 버전을 시작할 때 충돌이 발생했습니다.

2.2.2 플러그인 버전 충돌

Jupyterlab 4에는 디버거가 직접 통합되어 있습니다. 처음에는 몰랐습니다. 플러그인 관리자에서는 찾을 수 없었습니다. pip로 직접 설치했습니다.

jupyter labextension install @jupyterlab/debugger

그러다 보니 jupyterlab을 시작할 때마다 오류가 보고됩니다(아직 시작할 수는 있지만 오류를 보는 것은 매우 귀찮습니다)

2.3 일반적으로 사용되는 플러그인

2.3.1 디버거

디버거 문서

Jupyterlab 버전 2 또는 3은 플러그인 관리자에서 직접 jupyterlab/debugger를 설치할 수 있습니다.
여기에 이미지 설명을 삽입하세요.

  Jupyterlab 4에는 디버거가 직접 통합되어 있으며, 노트북 오른쪽 상단에 있는 디버그 버튼(파란색 상자)을 클릭하면 됩니다.빨간색으로 표시되면 디버깅 모드에 들어간 것입니다. 그런 다음 pycharm과 마찬가지로 디버그해야 하는 곳에 중단점을 설정합니다. 디버깅 정보가 표시되는 곳을 열려면 디버거 보기 또는 오른쪽 사이드바의 디버그 버튼(빨간색 상자)을 클릭하세요.
여기에 이미지 설명을 삽입하세요.
  위는 객관식 문답용 변환기 라이브러리를 사용할 때 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()

여기에 이미지 설명을 삽입하세요.

  • 변수 영역에는 목록과 트리의 두 가지 표시 모드가 있으며, 변수 값은 전체 표시되지 않고 직접 복사하여 볼 수 있습니다. 변수 창은 기본적으로 4줄로 표시되며, 이것이 부족할 경우 변수 창을 아래로 내리면 됩니다.
  • 중앙에는 디버깅 작업 버튼이 있는데, 클릭하거나 해당 단축키를 사용할 수 있습니다.
  • 아래와 왼쪽의 소스 파일 영역은 모두 디버깅이 코드가 중지되는 위치임을 보여줍니다.

예를 들어 디버깅에서는 변수 형식이 표시됩니다.

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는 주로 코드 형식을 지정하는 데 사용되며 여러 언어를 지원합니다.

GIF

2.4 주피터 스킬

"JupyterLab의 매우 강력한 10가지 비밀 기술"을 참조하세요.

  1. 다중 행 선택
    여기에 이미지 설명을 삽입하세요.
  2. 가상 환경 추가
    다음 명령을 사용하여 가상 환경을 Jupyter Lab에 커널로 추가하면 실행기 또는 커널 목록의 오른쪽 상단에 옵션으로 표시됩니다.
 $ pip install ipykernel  
 $ ipython kernel install --user --name=new_or_existing_env_name

참고: 위 코드는 jupyter lab 환경이 아닌 추가하려는 가상 환경에서 사용해야 합니다.

  1. jupyter run명령을 사용하여 노트북 실행 명령을 사용하면 Python 스크립트처럼 각 노트북 셀을 순차적으로 실행할 수 있습니다
    . jupyter run이 명령은 각 셀의 출력을 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

단일 셸 명령으로 문제를 해결할 수 있으므로 Python 디렉터리 탐색 코드를 작성할 필요가 없습니다.

  1. winsound알림 실행은
    winsound Windows 운영 체제에서 사운드를 제어하고 간단한 사운드 효과를 재생할 수 있는 Python 표준 라이브러리의 모듈입니다. 주로 오디오 알림, 경고를 생성하거나 간단한 사운드 파일을 재생하는 데 사용되며 일반적으로 명령줄 스크립트, 가젯 또는 기본 사운드 제어 요구 사항에 사용됩니다.
    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 명령을 사용할 수 있습니다.
여기에 이미지 설명을 삽입하세요.

추천

출처blog.csdn.net/qq_56591814/article/details/133522959