전체 글 (25) 썸네일형 리스트형 [MacOS] Python venv 환경 꼬임 해결기 (3.9 vs 3.10) ☑︎ 환경: MacOS☑︎ 요약: 기본 파이썬·깨진 python.org 3.10·Homebrew 권한 충돌이 겹쳐 venv 생성 및 패키지 설치가 실패 -> brew 기반 Python 3.10으로 새 가상환경을 재구축하여 해결함문제 상황프로젝트 진행 중 python3 -m venv venv로 가상환경을 만들었는데 requirements.txt 설치 과정에서 계속 아래와 같은 에러 발생:Fatal Python error: init_import_site: Failed to import the site moduleUnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 ...python3 --version → 3.9.6 (macOS 기본 파이썬)로그에는 /Libra.. pip install -r requirements.txt 시 UnicodeDecodeError 발생 ☑︎ 환경: macOS + 외장 SSD☑︎ 요약: macOS에서 SSD에 복사된 가상환경 안에 생긴 ._distutils-precedence.pth 메타파일이 Python의 .pth 자동 로딩 과정에 서 UTF-8 디코딩 에러를 발생시킴🤔 문제 상황: Python이 site-packages 내부 `.pth` 파일을 로드하던 중 `._distutils-precedence.pth` 메타파일을 텍스트로 오해하고 디코딩하다 실패 🛠️ 원인:(1) 파이썬 설치 자체 손상(2) pip가 내부에서 잘못된 .pth or .egg-link 읽음(3) site-packages 경로 내부 깨진 파일(예전 설치 중 남은 .pth 파일, 캐시, 혹은 한글 인코딩 문제)→ 내 문제는 (3)번이었음- `.pth` 파일은 Pyt.. LLM(PandasAI Chatbot) PandasAI와 Streamlit으로 만드는 데이터 분석 챗봇📌 목적CSV 파일을 업로드 → AI가 데이터를 분석하거나 시각화해주는 챗봇 만들기streamlit에서 질문을 입력하면, 데이터를 읽고 답변을 해줌🧩 코드 뜯어보기1️⃣ AI 모델(LLM) 연결 준비llm = LocalLLM( api_base="http://localhost:11434/v1", model="llama3.1:8b", temperature=0.3)더보기더보기LocalLLM(1) LLM(Large Language Model)이란? : 사람처럼 글을 읽고, 이해하고, 답변하는 인공지능 모델 ex. chatGPT, Llama3, Mistral 등 (2) LocalLLM이 하는 일 : “파이썬 코드” ↔️ “내 컴퓨터.. MinIO-흐름 따라가기 1️⃣ 로컬에서 실행 → 브라우저로 접속 후 GUI 조작✅ 1단계: 원하는 폴더로 이동 후 data 폴더 미리 만들기✅ 2단계: 아래 명령어로 실행 바이너리 저장하기cd 원하는 이동 경로curl -O https://dl.min.io/server/minio/release/darwin-amd64/miniochmod +x minio # 받은 파일이므로 읽기/쓰기만 가능해서 실행 가능한 프로그램으로 권한 부여✅ 3단계: MinIO 서버 실행해서 터미널에 API 주소, Console 주소 뜨는지 & 브라우저에서 http://localhost:9090 열었을 때 로그인 화면 나오는지 확인./minio server ./data --console-address ":9090"웹 콘솔 접속 주소: localhost:90.. MinIO 1️⃣ 오브젝트 스토리지란 무엇인가?🧩 우리가 흔히 아는 저장 방식들우리가 컴퓨터에 파일을 저장하면 보통 아래 둘 중 하나:파일 시스템: 폴더 안에 파일 저장 (ex. 바탕화면에 엑셀 저장)데이터베이스(DB): 구조화된 데이터를 테이블에 저장 (ex. 고객 목록, 주문 기록 등)이 두 방식은 구조가 정형화돼 있어서 쓰기 편하지만,이미지나 영상, 로그 파일처럼 형태가 다양하고 크기도 다른 대용량 데이터를 저장하기에는 비효율적💡오브젝트 스토리지란?: 오브젝트 스토리지는 이름처럼 "데이터 조각(object)"을 저장하는 공간파일의 구조나 크기에 구애받지 않고 아주 유연하게 저장 가능각 오브젝트는 3가지로 구성:데이터 자체 (ex. 이미지, PDF, CSV 등)메타데이터 (ex. 업로드한 사람, 날짜, 파일.. 다양한 데이터 구조 전처리 📊 Python 전처리 실습 예제 - 실무 흐름 따라잡기✅ 실습 목표다양한 구조의 CSV 데이터를 읽고 처리하는 전처리 실습불규칙 컬럼, 특수문자, 이상치, 결측치, 시간 컬럼 등을 자동 감지 및 처리병렬 처리(Ray)를 통해 속도 최적화 경험📄 파일명: generate_dataset.py📍 목적: 다양한 케이스의 샘플 CSV 데이터 생성🔹 1. 기본 설정import pandas as pdimport numpy as npimport osos.makedirs("data/raw", exist_ok=True)data/raw 폴더 생성 (없으면 자동 생성)🔹 2. 정상 데이터 (normal_data.csv), 파이프 문자열 포함 데이터 (pipe_column.csv), 컬럼 수 불일치 데이터 (inco.. Python 병렬/분산처리: Ray 사용법 정리 (키워드) Python Ray for multiprocessing, Python Parallel, Distributed Computing, Python Ray Core, Python Ray for loop, Python ray example ✅ Python에서 병렬처리할 경우 multiprocessing을 주로 사용하지만 multiprocessing 라이브러리를 사용하기 위해 기존에 작성한 코드를수정해야 함 (Pool 생성해서 넘기기 등)multiprocessing은 여러 클러스터에서 분산처리하기엔 초심자 입장에서 어려움✅ Ray 소개Ray는 최근에 핫한 라이브러리로 머신러닝/딥러닝을 위해 개발되었지만 다양하게 활용할 수 있음Ray provides a simple, universal API for bui.. 병렬 처리(Parallel Processing) 🧵 병렬 처리(Parallel Processing)란?여러 작업을 동시에 실행해 전체 수행 시간을 줄이는 기법반복 작업이나 연산이 많은 작업에 적합예시) 1분 걸리는 작업을 5명이 동시에 하면?직렬 처리: 5분병렬 처리: 1분2️⃣ Python에서 병렬 처리 시 주의점Python에는 GIL (Global Interpreter Lock)이라는 장치가 있어한 번에 하나의 스레드만 실행여러 개의 스레드를 만들어도 동시에 실행 불가능→ 연산량 많은 작업에선 threading 비효율적👉 해결책: 프로세스 기반 병렬 처리각 프로세스는 메모리를 독립적으로 사용 → GIL 회피 가능→ multiprocessing, ProcessPoolExecutor 사용3️⃣ 병렬 처리 vs 직렬 처리 (예제 코드)import t.. 이전 1 2 3 4 다음