다른 명령
macOS에서 다른 버전의 Python을 가상환경으로 추가하는 방법
- 방법 1: pyenv 사용 (가장 추천)
- 1-1. pyenv 설치
```bash
- Homebrew로 pyenv 설치
brew install pyenv
- pyenv-virtualenv도 함께 설치
brew install pyenv-virtualenv ```
- 1-2. 쉘 설정 추가
```bash
- 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
- 설정 적용
source ~/.zshrc ```
- 1-3. Python 버전 설치
```bash
- 설치 가능한 Python 버전 목록 확인
pyenv install --list
- 특정 버전 설치 (예시)
pyenv install 3.9.18 pyenv install 3.10.13 pyenv install 3.11.7 pyenv install 3.12.1
- 설치된 버전 확인
pyenv versions ```
- 1-4. 가상환경 생성
```bash
- pyenv로 가상환경 생성
pyenv virtualenv 3.9.18 oracle-py39 pyenv virtualenv 3.10.13 oracle-py310 pyenv virtualenv 3.11.7 oracle-py311
- 가상환경 목록 확인
pyenv virtualenvs ```
- 1-5. 가상환경 활성화
```bash
- 가상환경 활성화
pyenv activate oracle-py39
- 비활성화
pyenv deactivate
- 특정 디렉토리에 자동 활성화 설정
cd ~/python-projects/project1 pyenv local oracle-py39 # .python-version 파일 생성됨
cd ~/python-projects/project2 pyenv local oracle-py310 ```
- 방법 2: Homebrew로 여러 Python 버전 설치
- 2-1. 여러 Python 버전 설치
```bash
- 최신 Python 3
brew install python@3.12 brew install python@3.11 brew install python@3.10 brew install python@3.9
- 설치된 Python 확인
ls -la /opt/homebrew/bin/python* ```
- 2-2. 특정 버전으로 가상환경 생성
```bash
- Python 3.9로 가상환경 생성
/opt/homebrew/bin/python3.9 -m venv ~/venvs/oracle-py39
- Python 3.10으로 가상환경 생성
/opt/homebrew/bin/python3.10 -m venv ~/venvs/oracle-py310
- Python 3.11로 가상환경 생성
/opt/homebrew/bin/python3.11 -m venv ~/venvs/oracle-py311 ```
- 2-3. 가상환경 활성화
```bash
- 가상환경 활성화
source ~/venvs/oracle-py39/bin/activate
- Python 버전 확인
python --version
- 비활성화
deactivate ```
- 방법 3: python.org에서 직접 설치
- 3-1. Python 다운로드 및 설치
```bash
- python.org에서 원하는 버전 다운로드
- https://www.python.org/downloads/macos/
- 설치 후 경로 확인
ls /Library/Frameworks/Python.framework/Versions/ ```
- 3-2. 가상환경 생성
```bash
- 설치된 특정 버전으로 가상환경 생성
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3 -m venv ~/venvs/py39
- 활성화
source ~/venvs/py39/bin/activate ```
- Oracle DBA 작업용 권장 설정
- pyenv로 Oracle 프로젝트 환경 구성
```bash
- Python 3.10 설치 (cx_Oracle 호환성 좋음)
pyenv install 3.10.13
- Oracle 작업용 가상환경 생성
pyenv virtualenv 3.10.13 oracle-dba
- 프로젝트 디렉토리에 설정
cd ~/python-projects/oracle-scripts pyenv local oracle-dba
- 필요한 패키지 설치
pip install --upgrade pip pip install cx_Oracle pip install pandas pip install openpyxl pip install sqlalchemy ```
- VSCode에서 Python 버전 선택
- VSCode 설정
```bash
- 프로젝트 폴더에서 VSCode 실행
cd ~/python-projects/oracle-scripts code . ```
- VSCode에서**:
1. `Cmd + Shift + P` 2. "Python: Select Interpreter" 검색 3. 원하는 Python 버전/가상환경 선택
- .vscode/settings.json 설정
```json {
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true,
"python.venvPath": "~/.pyenv/versions"
} ```
- 프로젝트별 Python 버전 관리
- 프로젝트 구조 예시
```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/
```
- requirements.txt 생성
```bash
- 현재 환경의 패키지 목록 저장
pip freeze > requirements.txt
- 다른 환경에서 동일하게 설치
pip install -r requirements.txt ```
- pyenv 유용한 명령어
```bash
- 설치된 Python 버전 확인
pyenv versions
- 전역 Python 버전 설정
pyenv global 3.10.13
- 현재 디렉토리의 Python 버전 설정
pyenv local 3.10.13
- 쉘 세션의 Python 버전 설정 (임시)
pyenv shell 3.9.18
- 가상환경 삭제
pyenv uninstall oracle-py39
- Python 버전 제거
pyenv uninstall 3.9.18
- pyenv 업데이트
brew upgrade pyenv ```
- 문제 해결
- pyenv로 Python 설치 시 오류
```bash
- 빌드 도구 설치
xcode-select --install
- 필요한 라이브러리 설치
brew install openssl readline sqlite3 xz zlib
- 환경변수 설정 후 재설치
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include" pyenv install 3.10.13 ```
- cx_Oracle 설치 오류
```bash
- Oracle Instant Client 설치
brew install instantclient-basic brew install instantclient-sdk
- 환경변수 설정
echo 'export ORACLE_HOME=/opt/homebrew/opt/instantclient-basic' >> ~/.zshrc echo 'export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH' >> ~/.zshrc source ~/.zshrc
- cx_Oracle 재설치
pip install cx_Oracle ```
- 편리한 alias 설정
- ~/.zshrc**에 추가:
```bash
- Python 가상환경 관련 alias
alias pylist='pyenv versions' alias pyvenv='pyenv virtualenvs' alias pyactive='pyenv activate' alias pydeactive='pyenv deactivate'
- 프로젝트별 바로가기
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 ```
- 실전 활용 예시
```bash
- 1. 새 프로젝트 시작
mkdir ~/python-projects/awr-analyzer cd ~/python-projects/awr-analyzer
- 2. Python 3.10 가상환경 생성
pyenv virtualenv 3.10.13 awr-analyzer
- 3. 로컬 설정
pyenv local awr-analyzer
- 4. 패키지 설치
pip install cx_Oracle pandas matplotlib
- 5. VSCode로 열기
code .
- 6. VSCode에서 인터프리터 선택
- Cmd+Shift+P → "Python: Select Interpreter"
- → awr-analyzer 선택
```
pyenv를 사용하는 것이 가장 편리하고 권장되는 방법입니다. 추가 질문 있으시면 말씀해주세요!