<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD_%EB%8B%A4%EB%A5%B8_%EB%B2%84%EC%A0%84_%EC%82%AC%EC%9A%A9_pyenv</id>
	<title>파이썬 가상환경 다른 버전 사용 pyenv - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD_%EB%8B%A4%EB%A5%B8_%EB%B2%84%EC%A0%84_%EC%82%AC%EC%9A%A9_pyenv"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD_%EB%8B%A4%EB%A5%B8_%EB%B2%84%EC%A0%84_%EC%82%AC%EC%9A%A9_pyenv&amp;action=history"/>
	<updated>2026-04-04T04:28:50Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD_%EB%8B%A4%EB%A5%B8_%EB%B2%84%EC%A0%84_%EC%82%AC%EC%9A%A9_pyenv&amp;diff=2337&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: === 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 &#039;export PYENV_ROOT=&quot;$HOME/.pyenv&quot;&#039; &gt;&gt; ~/.zshrc echo &#039;export PATH=&quot;$PYENV_ROOT/bin:$PATH&quot;&#039; &gt;&gt; ~/.zshrc echo &#039;eval &quot;$(pyenv init...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD_%EB%8B%A4%EB%A5%B8_%EB%B2%84%EC%A0%84_%EC%82%AC%EC%9A%A9_pyenv&amp;diff=2337&amp;oldid=prev"/>
		<updated>2025-11-16T09:27:10Z</updated>

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