맥에서 여러 개의 파이썬 버전을 관리하는 방법은 크게 **pyenv**를 사용하는 방법과 **conda**를 사용하는 방법이 있습니다. 가장 유연하게 버전을 관리하려면 **pyenv**를 추천합니다.

1. pyenv를 이용한 파이썬 버전 관리 (추천)

 

pyenv는 사용자가 원하는 버전의 파이썬을 설치하고, 프로젝트별로 다른 버전을 사용할 수 있도록 도와줍니다.

 

설치 방법

# Homebrew 업데이트
brew update

# pyenv 설치
brew install pyenv

# pyenv 환경 변수 설정 (zsh 사용 시)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc

# 적용
source ~/.zshrc

파이썬 버전 설치

# 설치 가능한 파이썬 버전 확인
pyenv install --list

# 특정 버전 설치 (예: 3.11.6)
pyenv install 3.11.6

# 전역(global) 기본 파이썬 버전 설정
pyenv global 3.11.6

# 특정 프로젝트 폴더에서만 특정 버전 사용
pyenv local 3.10.6  # 현재 폴더에서만 3.10.6 사용

# 현재 사용 중인 버전 확인
pyenv versions
python --version

2. conda를 이용한 관리

 

conda는 가상 환경과 패키지 관리를 함께 제공하는 도구로, 데이터 과학이나 머신러닝을 한다면 유용합니다.

 

설치 방법

# Miniconda 설치 (경량 버전)
brew install --cask miniconda

# conda 환경 변수 설정 (zsh 사용 시)
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

파이썬 버전 관리

# 새로운 환경 생성 (예: 파이썬 3.9 사용)
conda create --name py39 python=3.9

# 환경 활성화
conda activate py39

# 환경 비활성화
conda deactivate

# 설치된 환경 목록 보기
conda env list

3. macOS 기본 파이썬 사용 (비추천)

 

맥OS에는 기본적으로 /usr/bin/python3가 설치되어 있지만, 시스템 의존성이 많아서 직접 버전을 관리하는 것은 어렵습니다. 따라서 pyenvconda를 사용하는 것이 좋습니다.

추천 방법 요약

일반적인 개발용pyenv

데이터 과학, 머신러닝conda

 

어떤 방법이든 설정을 마친 후, python --version으로 제대로 적용되었는지 확인하세요! 🚀

🚀 파이썬 의존성을 빠르고 쉽게 해결하는 방법

 

Python 프로젝트에서 의존성 충돌이나 설치 문제를 신속하게 해결하는 방법을 정리해볼게요.

1️⃣ 가상 환경(venv, conda) 설정 후 패키지 정리

 

💡 가상 환경을 만들고 깨끗한 상태에서 다시 설치

가끔 기존 환경에 여러 패키지가 엉켜서 문제가 생길 수 있어요. 새 가상 환경을 만들고 필요한 패키지만 설치하면 의존성 충돌을 줄일 수 있어요.

 

🔹 venv 사용 (Python 기본 제공)

python -m venv new_env
source new_env/bin/activate  # Windows는 new_env\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt

이렇게 하면 새 환경에서 깨끗하게 시작할 수 있어요.

 

🔹 Conda 사용 (더 강력한 환경 관리)

conda create -n new_env python=3.10
conda activate new_env
pip install -r requirements.txt

Conda는 패키지 간 의존성을 더 잘 관리해서, 충돌을 줄이는데 도움이 돼요.

2️⃣ pip 충돌 해결: 패키지 재설치

 

💡 패키지를 강제로 다시 설치하여 충돌 해결

pip freeze > installed_packages.txt  # 현재 설치된 패키지 리스트 백업
pip uninstall -r installed_packages.txt -y  # 모든 패키지 제거
pip install --upgrade pip setuptools wheel  # 최신 pip 설치
pip install -r requirements.txt  # 의존성 다시 설치

이렇게 하면 기존 환경에서 의존성 문제를 한 번에 해결할 수 있어요.

3️⃣ 패키지 버전 문제 해결

 

💡 의존성 충돌 시, 문제 패키지 확인 후 버전 고정

pip check  # 현재 환경에서 충돌하는 패키지 확인
pip install "패키지명==특정버전"  # 특정 버전으로 맞추기

예를 들어, llama-indexnumpy와 충돌하면:

pip install numpy==1.23.5

이런 식으로 버전을 맞추면 해결될 수 있어요.

4️⃣ FastAPI, LangChain, LlamaIndex 등 최신 패키지 충돌 해결

 

최신 AI 관련 패키지(LlamaIndex, LangChain 등)는 종종 의존성 문제를 일으켜요. pip 대신 pip-compile을 사용하면 의존성을 자동으로 정리해줘요.

pip install pip-tools
pip-compile requirements.in  # 의존성 자동 정리
pip install -r requirements.txt

5️⃣ Docker 활용 (최후의 방법)

 

의존성 충돌이 너무 심하면 Docker를 사용해 완전한 격리된 환경에서 실행하는 것이 가장 좋은 방법이에요.

FROM python:3.10
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "your_script.py"]

이런 식으로 하면, 시스템 의존성과 관계없이 동일한 환경을 유지할 수 있어요.

📌 결론

 

빠르게 해결하고 싶다면?pip check 후 버전 맞추기

깨끗한 환경에서 재설치?venv 또는 conda 활용

자동으로 의존성을 정리하고 싶다면?pip-compile 사용

100% 충돌 없이 실행하려면?Docker 사용

 

🚀 venv + pip-compile 조합을 먼저 시도하고, 그래도 안 되면 Docker를 고려하는 게 가장 현실적인 해결책!

어떤 문제가 있는지 더 구체적으로 말해주면, 추가 해결 방법을 알려줄 수 있어! 🔥

설치

pip install [package name]

 

삭제

pip uninstall [package name]

 

업데이트

pip upgrade [package name]

 

설치된 패키지 목록

pip list

 

패키지 정보 확인

pip show [package name]


다음 패키지를 쓰면 국가코드를 입력으로 넣어 타임존을 알아낼 수 있다.


설치 방법

pip install pytz



참고 링크 및 코드

http://pytz.sourceforge.net/



Country Information

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> print(' '.join(pytz.country_timezones['nz']))
Pacific/Auckland Pacific/Chatham

The Olson database comes with a ISO 3166 country code to English country name mapping that pytz exposes as a dictionary:

>>> print(pytz.country_names['nz'])
New Zealand



다음 코드를 사용하면 된다.



def getType(x):

    return {

        0: 'A',

        1: 'B',

        2: 'C'

    }[x]



>>> getType(0)

'A'



+ Recent posts