2025년 2월 21일 금요일

2025년 2월 20일 목요일

파이썬 패키지 설치 및 환경 관리 도구 uv

소개

  • Rust로 작성된 파이썬 패키지 설치 및 환경 관리 도구
  • 전통적인 pip와 호환되면서도 훨씬 빠른 성능

주요 특징:

  • 매우 빠른 속도 (pip보다 약 10-100배 빠름)

  • pip와 완벽한 호환성

  • 의존성 해결 알고리즘 개선

  • 병렬 다운로드 지원

  • 캐싱 메커니즘 최적화

  • astral.sh에서 개발한 도구로, 2023년 말~2024년 초에 공개

  • https://github.com/astral-sh/uv 참고

UV 간단 튜토리얼

1. UV 설치하기

터미널에서 다음 명령어로 설치합니다:

# macOS/Linux에서 설치
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)에서 설치
irm https://astral.sh/uv/install.ps1 | iex

2. 기본 패키지 관리

# 패키지 설치
uv pip install requests pandas

# 여러 패키지 동시 설치 (매우 빠름)
uv pip install numpy matplotlib seaborn scikit-learn

# 특정 버전 설치
uv pip install flask==2.0.1

# requirements.txt 파일 사용
uv pip install -r requirements.txt

3. 가상환경 관리

# 새 가상환경 생성
uv venv .venv

# 가상환경 활성화 (Linux/macOS)
source .venv/bin/activate

# 가상환경 활성화 (Windows)
.venv\Scripts\activate

4. pip와 함께 사용하기

기존 pip 명령어와 거의 동일하게 작동합니다:

# 패키지 업그레이드
uv pip install --upgrade requests

# 패키지 제거
uv pip uninstall pandas

# 설치된 패키지 목록 확인
uv pip list

5. 프로젝트 의존성 관리

# 현재 환경의 패키지를 requirements.txt로 내보내기
uv pip freeze > requirements.txt

# 개발 의존성과 프로덕션 의존성 분리 (pip-tools 호환)
uv pip compile pyproject.toml -o requirements.txt

UV로 파이썬 3.13.2 가상환경을 만들고 Jupyter를 설정하는 과정

# 1. 특정 파이썬 버전으로 가상환경 생성
uv venv --python=3.13.2 .venv_py3132

# 2. 가상환경 활성화
# Linux/macOS
source .venv_py3132/bin/activate
# Windows
# .venv_py3132\Scripts\activate

# 3. Jupyter와 필수 패키지 설치
uv pip install jupyter notebook pandas numpy matplotlib scipy

# 4. Jupyter 노트북 실행
jupyter notebook

주의사항:

  • UV가 가상환경을 생성할 때 시스템에 파이썬 3.13.2가 설치되어 있어야 합니다. 없다면 먼저 설치해주세요.
  • 데이터 분석에 필요한 기본 패키지로 pandas, numpy, matplotlib, scipy를 포함했습니다.
  • 필요에 따라 scikit-learn, seaborn 등 추가 패키지를 설치할 수 있습니다.

첫 번째 Jupyter 노트북에서 환경이 제대로 설정되었는지 확인하려면:

import sys
print(f"Python 버전: {sys.version}")
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print("모든 필수 패키지가 성공적으로 로드되었습니다!")

2025년 2월 17일 월요일

python에서 venv를 이용하는 간단한 튜토리얼

Python의 가상 환경(venv) 사용법

  1. 가상 환경 생성하기
# Windows의 경우
python -m venv myenv

# macOS/Linux의 경우
python3 -m venv myenv
  1. 가상 환경 활성화하기
# Windows의 경우
myenv\Scripts\activate

# macOS/Linux의 경우
source myenv/bin/activate

활성화되면 프롬프트 앞에 (myenv)가 표시됩니다.

  1. 가상 환경에서 패키지 설치하기
# 예: requests 패키지 설치
pip install requests

# 설치된 패키지 목록 확인
pip list
  1. 프로젝트에 필요한 패키지 목록 저장하기
pip freeze > requirements.txt
  1. 다른 환경에서 패키지 설치하기
pip install -r requirements.txt
  1. 가상 환경 비활성화하기
deactivate
  • 가상 환경 삭제: 가상 환경이 더 이상 필요하지 않으면 해당 디렉토리를 삭제하면 됩니다.
  • 여러 Python 버전: 시스템에 여러 버전의 Python이 설치되어 있는 경우 특정 버전의 Python을 사용하여 가상 환경을 만들 수 있습니다. 예를 들어, Python 3.9를 사용하여 가상 환경을 만들려면 python3.9 -m venv .venv 명령어를 사용합니다.

  • 프로젝트 디렉토리에 .venv와 같은 이름으로 가상 환경을 만들면 Git 저장소에 해당 디렉토리를 추가하지 않도록 .gitignore 파일에 .venv를 추가하는 것이 좋습니다.

가상 환경을 사용하면 다음과 같은 장점이 있습니다:

  • 프로젝트별로 독립된 Python 환경을 유지할 수 있습니다
  • 패키지 버전 충돌을 방지할 수 있습니다
  • 다른 개발자와 동일한 환경을 쉽게 공유할 수 있습니다

가상 환경을 생성할 때 특정 버전의 Python을 지정하는 방법

  1. 특정 버전의 Python 실행 파일을 직접 지정하기
# Python 3.8을 사용하여 가상 환경 생성
/usr/local/bin/python3.8 -m venv myenv

# Windows의 경우
C:\Python38\python.exe -m venv myenv
  1. pyenv를 사용하는 방법
# pyenv 설치 (macOS)
brew install pyenv

# 특정 Python 버전 설치
pyenv install 3.8.12

# 해당 버전을 사용하여 가상 환경 생성
pyenv local 3.8.12
python -m venv myenv
  1. conda를 사용하는 방법
# 특정 Python 버전으로 환경 생성
conda create -n myenv python=3.8

# 환경 활성화
conda activate myenv
  1. 이미 생성된 가상 환경의 Python 버전 확인하기
# 가상 환경 활성화 후
python --version

추가로 알아두면 좋은 점:

  • 시스템에 설치되지 않은 Python 버전은 사용할 수 없습니다
  • pyenv나 conda를 사용하면 여러 Python 버전을 쉽게 관리할 수 있습니다
  • requirements.txt에 Python 버전을 명시하는 것이 좋습니다 (예: python_version >= "3.8")

2025년 2월 9일 일요일

우분투 터미널 볼륨 조절, 녹음 볼륨 조절

우분투 터미널에서 볼륨 조절

우분투 터미널에서 볼륨을 조절하는 주요 명령어들을 설명해드리겠습니다.

  1. amixer 사용하기:
# 마스터 볼륨 증가 (5%)
amixer set Master 5%+

# 마스터 볼륨 감소 (5%)
amixer set Master 5%-

# 특정 볼륨으로 설정 (예: 50%)
amixer set Master 50%

# 음소거/음소거 해제
amixer set Master toggle
  1. pactl 사용하기 (PulseAudio):
# 볼륨 증가 (5%)
pactl set-sink-volume @DEFAULT_SINK@ +5%

# 볼륨 감소 (5%)
pactl set-sink-volume @DEFAULT_SINK@ -5%

# 특정 볼륨으로 설정 (예: 50%)
pactl set-sink-volume @DEFAULT_SINK@ 50%

# 음소거/음소거 해제
pactl set-sink-mute @DEFAULT_SINK@ toggle
  1. alsamixer 사용하기:
# 대화형 볼륨 믹서 실행
alsamixer

alsamixer를 실행하면 화살표 키로 이동하고, 위/아래 방향키로 볼륨을 조절할 수 있습니다. ‘M’ 키를 눌러 음소거/음소거 해제가 가능하며, 'Esc’로 종료할 수 있습니다.

위 명령어들 중에서 가장 편리한 것을 선택하여 사용하시면 됩니다. 자주 사용하는 명령어는 별칭(alias)으로 설정해두면 더욱 편리하게 사용할 수 있습니다.

녹음 볼륨 조절

리눅스에서 시스템 볼륨과 녹음(입력) 볼륨은 별도로 관리됩니다.

ffmpeg로 녹음할 때의 볼륨은 입력 장치(마이크)의 볼륨 설정을 따르게 됩니다. 시스템의 마스터 볼륨이나 스피커 볼륨을 조절해도 녹음되는 소리의 크기에는 영향을 주지 않습니다.

입력 볼륨을 조절하려면:

# 마이크 볼륨 확인
amixer get Capture

# 마이크 볼륨 조절
amixer set Capture 80%

# 또는 PulseAudio 사용
pactl set-source-volume @DEFAULT_SOURCE@ 80%

alsamixer를 사용할 경우:

  1. alsamixer 실행
  2. F4를 눌러 Capture 모드로 전환
  3. 마이크나 Line-in 등 입력 장치의 볼륨을 조절

또는 ffmpeg 명령어에서 직접 볼륨을 조절할 수도 있습니다:

# volume 옵션으로 입력 볼륨 조절 (1.0 = 100%)
ffmpeg -f alsa -i default -af "volume=1.5" output.wav

녹음 중에는 입력 볼륨을 급격하게 변경하지 않는 것이 좋습니다. 갑작스러운 볼륨 변화는 녹음 품질에 영향을 줄 수 있기 때문입니다.

Ubuntu에서 socks proxy 간단 사용

SSH를 이용한 SOCKS 프록시 설정 가장 간단한 방법은 SSH를 이용하여 SOCKS 프록시를 설정하는 것: ssh -D 1080 사용자명@원격서버주소 이 명령어는 로컬 포트 1080에 SOCKS 프록시 서버를 생성한다. 브라우저 설정 프...