메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

파이썬 가상환경 다른 버전 사용 pyenv

데브카페

macOS에서 다른 버전의 Python을 가상환경으로 추가하는 방법

    1. 방법 1: pyenv 사용 (가장 추천)
      1. 1-1. pyenv 설치

```bash

  1. Homebrew로 pyenv 설치

brew install pyenv

  1. pyenv-virtualenv도 함께 설치

brew install pyenv-virtualenv ```

      1. 1-2. 쉘 설정 추가

```bash

  1. zsh 사용하는 경우 (~/.zshrc)

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init --path)"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

  1. 설정 적용

source ~/.zshrc ```

      1. 1-3. Python 버전 설치

```bash

  1. 설치 가능한 Python 버전 목록 확인

pyenv install --list

  1. 특정 버전 설치 (예시)

pyenv install 3.9.18 pyenv install 3.10.13 pyenv install 3.11.7 pyenv install 3.12.1

  1. 설치된 버전 확인

pyenv versions ```

      1. 1-4. 가상환경 생성

```bash

  1. pyenv로 가상환경 생성

pyenv virtualenv 3.9.18 oracle-py39 pyenv virtualenv 3.10.13 oracle-py310 pyenv virtualenv 3.11.7 oracle-py311

  1. 가상환경 목록 확인

pyenv virtualenvs ```

      1. 1-5. 가상환경 활성화

```bash

  1. 가상환경 활성화

pyenv activate oracle-py39

  1. 비활성화

pyenv deactivate

  1. 특정 디렉토리에 자동 활성화 설정

cd ~/python-projects/project1 pyenv local oracle-py39 # .python-version 파일 생성됨

cd ~/python-projects/project2 pyenv local oracle-py310 ```

    1. 방법 2: Homebrew로 여러 Python 버전 설치
      1. 2-1. 여러 Python 버전 설치

```bash

  1. 최신 Python 3

brew install python@3.12 brew install python@3.11 brew install python@3.10 brew install python@3.9

  1. 설치된 Python 확인

ls -la /opt/homebrew/bin/python* ```

      1. 2-2. 특정 버전으로 가상환경 생성

```bash

  1. Python 3.9로 가상환경 생성

/opt/homebrew/bin/python3.9 -m venv ~/venvs/oracle-py39

  1. Python 3.10으로 가상환경 생성

/opt/homebrew/bin/python3.10 -m venv ~/venvs/oracle-py310

  1. Python 3.11로 가상환경 생성

/opt/homebrew/bin/python3.11 -m venv ~/venvs/oracle-py311 ```

      1. 2-3. 가상환경 활성화

```bash

  1. 가상환경 활성화

source ~/venvs/oracle-py39/bin/activate

  1. Python 버전 확인

python --version

  1. 비활성화

deactivate ```

    1. 방법 3: python.org에서 직접 설치
      1. 3-1. Python 다운로드 및 설치

```bash

  1. python.org에서 원하는 버전 다운로드
  2. https://www.python.org/downloads/macos/
  1. 설치 후 경로 확인

ls /Library/Frameworks/Python.framework/Versions/ ```

      1. 3-2. 가상환경 생성

```bash

  1. 설치된 특정 버전으로 가상환경 생성

/Library/Frameworks/Python.framework/Versions/3.9/bin/python3 -m venv ~/venvs/py39

  1. 활성화

source ~/venvs/py39/bin/activate ```

    1. Oracle DBA 작업용 권장 설정
      1. pyenv로 Oracle 프로젝트 환경 구성

```bash

  1. Python 3.10 설치 (cx_Oracle 호환성 좋음)

pyenv install 3.10.13

  1. Oracle 작업용 가상환경 생성

pyenv virtualenv 3.10.13 oracle-dba

  1. 프로젝트 디렉토리에 설정

cd ~/python-projects/oracle-scripts pyenv local oracle-dba

  1. 필요한 패키지 설치

pip install --upgrade pip pip install cx_Oracle pip install pandas pip install openpyxl pip install sqlalchemy ```

    1. VSCode에서 Python 버전 선택
      1. VSCode 설정

```bash

  1. 프로젝트 폴더에서 VSCode 실행

cd ~/python-projects/oracle-scripts code . ```

    • VSCode에서**:

1. `Cmd + Shift + P` 2. "Python: Select Interpreter" 검색 3. 원하는 Python 버전/가상환경 선택

      1. .vscode/settings.json 설정

```json {

 "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
 "python.terminal.activateEnvironment": true,
 "python.venvPath": "~/.pyenv/versions"

} ```

    1. 프로젝트별 Python 버전 관리
      1. 프로젝트 구조 예시

```bash ~/python-projects/ ├── oracle-19c-scripts/ # Python 3.10 │ ├── .python-version # oracle-py310 │ ├── requirements.txt │ └── scripts/ ├── oracle-23c-scripts/ # Python 3.11 │ ├── .python-version # oracle-py311 │ ├── requirements.txt │ └── scripts/ └── legacy-oracle-scripts/ # Python 3.9

   ├── .python-version          # oracle-py39
   ├── requirements.txt
   └── scripts/

```

      1. requirements.txt 생성

```bash

  1. 현재 환경의 패키지 목록 저장

pip freeze > requirements.txt

  1. 다른 환경에서 동일하게 설치

pip install -r requirements.txt ```

    1. pyenv 유용한 명령어

```bash

  1. 설치된 Python 버전 확인

pyenv versions

  1. 전역 Python 버전 설정

pyenv global 3.10.13

  1. 현재 디렉토리의 Python 버전 설정

pyenv local 3.10.13

  1. 쉘 세션의 Python 버전 설정 (임시)

pyenv shell 3.9.18

  1. 가상환경 삭제

pyenv uninstall oracle-py39

  1. Python 버전 제거

pyenv uninstall 3.9.18

  1. pyenv 업데이트

brew upgrade pyenv ```

    1. 문제 해결
      1. pyenv로 Python 설치 시 오류

```bash

  1. 빌드 도구 설치

xcode-select --install

  1. 필요한 라이브러리 설치

brew install openssl readline sqlite3 xz zlib

  1. 환경변수 설정 후 재설치

export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include" pyenv install 3.10.13 ```

      1. cx_Oracle 설치 오류

```bash

  1. Oracle Instant Client 설치

brew install instantclient-basic brew install instantclient-sdk

  1. 환경변수 설정

echo 'export ORACLE_HOME=/opt/homebrew/opt/instantclient-basic' >> ~/.zshrc echo 'export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH' >> ~/.zshrc source ~/.zshrc

  1. cx_Oracle 재설치

pip install cx_Oracle ```

    1. 편리한 alias 설정
    • ~/.zshrc**에 추가:

```bash

  1. Python 가상환경 관련 alias

alias pylist='pyenv versions' alias pyvenv='pyenv virtualenvs' alias pyactive='pyenv activate' alias pydeactive='pyenv deactivate'

  1. 프로젝트별 바로가기

alias oracle39='cd ~/python-projects/oracle-scripts && pyenv activate oracle-py39' alias oracle310='cd ~/python-projects/oracle-scripts && pyenv activate oracle-py310' ```

적용: ```bash source ~/.zshrc ```

    1. 실전 활용 예시

```bash

  1. 1. 새 프로젝트 시작

mkdir ~/python-projects/awr-analyzer cd ~/python-projects/awr-analyzer

  1. 2. Python 3.10 가상환경 생성

pyenv virtualenv 3.10.13 awr-analyzer

  1. 3. 로컬 설정

pyenv local awr-analyzer

  1. 4. 패키지 설치

pip install cx_Oracle pandas matplotlib

  1. 5. VSCode로 열기

code .

  1. 6. VSCode에서 인터프리터 선택
  2. Cmd+Shift+P → "Python: Select Interpreter"
  3. → awr-analyzer 선택

```

pyenv를 사용하는 것이 가장 편리하고 권장되는 방법입니다. 추가 질문 있으시면 말씀해주세요!

Comments