Python을 배우거나 데이터를 다루는 일을 하다 보면 다양한 프로젝트마다 다른 패키지와 라이브러리를 사용할 필요가 생깁니다. 이때 가상환경을 사용하면 프로젝트별로 독립적인 환경을 구성할 수 있어 매우 유용합니다. Anaconda는 이러한 가상환경을 쉽게 관리할 수 있는 도구를 제공합니다. 이번 포스트에서는 Anaconda를 이용해 가상환경을 구성하는 방법을 단계별로 자세히 설명하겠습니다.
1. Anaconda 설치하기
먼저, Anaconda를 설치해야 합니다. Anaconda는 공식 웹사이트에서 다운로드할 수 있습니다.
설치 프로그램을 실행하고 안내에 따라 설치를 완료합니다.
Add Anaconda to my PATH environment variable Checkbox 를 선택하지 않습니다.
완료하고 checkbox 를 모두 check 하였다면 아래와 같은 페이지와 광고가 뜹니다.
그리고 Anaconda Navigator 창이 나타납니다.
먼저 Anaconda 에서 설치한 Python 의 Version 과 기존에 설치되어 있는 python 의 Version 을 확인해 봅니다. (Anaconda Prompt 에서는 현재 활성화된 환경의 이름이 괄호로 표시됩니다. 현재 base 환경임을 알수 있습니다. 기존에 설치된 python version 과 다름을 알 수 있습니다.
python --version
Anaconda 의 가상환경은 Windows 환경의 경우 User Folder 내의 Anaconda3 > envs Folder 에 위치합니다. (Anaconda3 Version 을 설치한 경우일 것입니다. 4 version 이 나온다면... Anaconda4 가 되겠죠? 아마도... ㅎㅎ)
다음 명령으롤 사용하여 설치할 수 있는 Python 의 version 을 확인 할 수 있습니다.
다음 명령어를 입력하여 새로운 가상환경을 만듭니다:
여기서 virtualEnv_3913는 가상환경의 이름입니다. 원하는 이름으로 변경할 수 있습니다.
활성화되면 프롬프트가 (virtualEnv_3913)로 바뀝니다. 이제 이 가상환경 내에서 패키지를 설치하고 관리할 수 있습니다.
다음 명령어를 입력하여 Anaconda 에 설치된 가상환경들을 조회해 봅니다:
활성화 되어 있는 가상환경에 * 가 표시되어 있습니다.
conda env list
4. 패키지 설치하기
가상환경이 활성화된 상태에서 필요한 패키지를 설치할 수 있습니다.
예를 들어, requests 패키지를 설치하려면 다음과 같이 입력합니다:
conda install requests
패키지를 최신 버전으로 업데이트하려면:
conda update requests
다음 명령을 사용하여 설치할 수 있는 requeats package 의 version 을 확인할 수 있습니다.
conda search requests
특정 버전의 패키지를 설치하려면:
conda install requests=2.28.1
Package 가 설치되는 Folder 는 Users\JH.Woo\anaconda3\envs\virtualEnv_3913 Folder 내의 Lib > site-packages Folder 입니다. 기존 Folder 에 request package 와 설치에 필요한 package 들이 추가된 것을 확인할 수 있습니다.
5. 추가된 가상환경을 Anaconda Navigator 에서 사용하기
추가된 가상환경을 Anaconda Navigator 에서 추가하여 사용할 수 있습니다.
Anaconda Navigator 에서 추가된 가상환경 확인하기Anaconda Navigator 를 열어 상단에 추가된 가상환경을 확인할 수 있습니다.
추가된 가상환경에 tool 설치하기추가된 가상환경을 선택하면 사용할 수 있는 tool 들이 표시됩니다. base 환경과는 별도로 virtualEnv_3913 환경에 설치해주어야 합니다. Jupyter notebook 과 Powershell Prompt 도구의 아래 Install button 을 click 하여 설치해 줍니다. 그럼 기존의 시작메뉴의 Anaconda3 메뉴에 새로 설치한 Jupyter Notebook(virtualEnv_3913) 와 Anaconda PowerShell Prompt(virtualEnv_3913) 메뉴가 추가된 것을 볼 수 있습니다. Anaconda Navigator 에서 Jupyter Notebook 의 Launch button 을 클릭하여 실행하거나 시작메뉴에서 Jupyter Notebook(virtualEnv_3913) 메뉴를 실행해 줍니다.
Jupyter Notebook 실행하기 Jupyter Notebook 을 실행하면 Jupyter server 가 실행되고 Local directory를 표시하는 페이지가 나타납니다. Local directory는 사용자 폴더(Users) 계정 Folder 를 표시합니다. (예: C:/Users/JH.Woo)
Default Path 변경하여 Jupyter Notebook 실행하기 탐색기와는 다르게 Default Path 의 상위 Folder 로 이동할 수 없기때문에 Programming 의 효율적인 작업을 위해서 Jupyter Notebook 을 실행할 때 Default Path 를 변경해줄 필요가 있습니다. 특정 Folder 를 Local Directory 로 설정하여 Jupyter Notebook 을 실행하는 방법을 알아보겠습니다. 이 예제에서는 D:\Python_Labs 라는 폴더를 사용하겠습니다. 자신에게 맞는 폴더를 사용합니다. 먼저 Powershell Prompt 를 실행합니다. 다음 명령어를 사용하여 Jupyter Notebook 을 실행합니다.
jupyter notebook d:/Python_Labs ## \ 가 아닌 / 라는 것에 주의할 것
Jupyter Notebook server 가 실행되며 실행내용을 보면 Local directory 가 d:/Python_Labs 인 것을 볼 수 있습니다. 그리고 Local Directory 를 표시하는 Page 가 나타납니다. 해당 Page 에서 새 Notebook 을 생성합니다.
Jupyter Notebook Home Page 를 실수로 꺼버린 경우 Jupyter Notebook server 창의 내용을 보면 Jupyter Notebook 의 Home page 를 표시한 부분이 있습니다. 해당 링크를 Ctrl + Click 하거나 Link 를 복사하여 Browser 에서 실행하면 됩니다.
New Notebook 에 가상환경 추가해주기 새 Jupyter Notebook 을 추가할 때 가상환경이 표시되지 않고 Python 3(ipykernel)만 표시될 때 다음 명령어를 실행합다.
다음 명령어는 virtualEnv_3913 가상환경과 그 안의 모든 패키지를 삭제합니다. 가상환경이 envs Folder 에서 삭제된 것을 확인할 수 있습니다.
conda remove --name virtualEnv_3913 --all
8. 가상환경 목록 확인하기
현재 만들어진 가상환경 목록을 확인하려면 다음 명령어를 사용합니다:
conda env list
결론
이렇게 해서 Anaconda를 이용해 가상환경을 구성하는 방법을 알아보았습니다. 가상환경을 사용하면 프로젝트마다 독립적인 환경을 유지할 수 있어 여러 버전의 패키지를 관리하기에 매우 편리합니다. Local Directory 를 설정하며 시작하는 과정이 조금은 귀찮은 작업일 수 있습니다. 처음에는 조금 복잡하게 느껴질 수 있지만, 익숙해지면 훨씬 더 효율적으로 작업을 할 수 있을 것입니다. Anaconda 가상환경을 활용해 보세요!
Windows 환경에서 pyenv-win 을 사용한 파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.
Windows 환경에서 pyenv-win을 사용하여 Python 가상환경을 관리하는 방법에 대한 블로그를 작성하기 위해, 다음 단계를 따라 진행할 수 있습니다. 이 블로그는 설치부터 가상환경 관리까지 모든 과정을 포함합니다.
Windows 환경에서 pyenv-win 을 사용하여 Python 가상환경 관리하기
Python은 다양한 프로젝트에서 사용되며, 각 프로젝트마다 다른 버전의 Python을 요구할 수 있습니다. 이를 효과적으로 관리하기 위해 pyenv-win을 사용하면 여러 버전의 Python을 설치하고 간편하게 전환할 수 있습니다. 이 블로그에서는 Windows 환경에서 pyenv-win을 설치하고 사용하는 방법을 단계별로 안내하겠습니다.
1. pyenv-win 설치
1.1. pyenv-win 다운로드
먼저, pyenv-win을 GitHub에서 다운로드합니다. Git을 설치한 상태여야 합니다.
궁금해서 pyenv 로 설치하지 않은 기존의 python 과의 설정을 보려고 py -0 을 실행해 봤습니다. 골때리는 상황이 전개될 듯하군요.. ㅎㅎ
3. 프로젝트별 로컬 Python 버전 설정
3.1. 프로젝트별 로컬 Python 버전설치
일단 설치가능한 버전을 확인해 봅니다. MAC OS 와 동일한 명령어라서 마음에 듭니다.
pyenv install --list
그리고 3.10.11 version 을 설치합니다.
pyenv install 3.10.11
3.2. 프로젝트 디렉토리로 이동
프로젝트가 있는 디렉토리로 이동합니다.
cd d:\Python_Labs\Projects\Prj_31011
3.3. 로컬 Python 버전 설정
해당 프로젝트에서 사용할 Python 버전을 설정합니다.
pyenv local 3.10.11
3.4. 설정 확인
pyenv local 3.10.11 명령어를 실행시키고 pyenv version 을 실행시켜서 현재 Prj_31011 폴더에서 사용중인 python 버전이 아래와 같이 3.10.11 이 설정된 모습을 볼 수 있습니다.
다른 폴더로 이동했을 때 pyenv version 을 실행시키면 Global version 이 표시되는 걸 볼 수 있죠.
pyenv version
3.5. 설정 해결
하지만 python --version 을 확인해보면 아직도 3.12 버전이 표시되는 걸 볼 수 있습니다. 느낌적인 느낌적으루다가.. 환경변수를 수정해 주면 될 듯합니다. 이 곳에 등록되어 있는 환경변수를 삭제해 줍니다. 그리고 열려있는 command 창을 닫아주고 다시 열어줍니다.
이제야 해결됐네요.. 3.12.0 이 설치되어 있는 상황인데도요..
속이 시원합니다. ^^
4. 가상환경 생성 및 관리
4.1. 가상환경 생성
pyenv-win과 virtualenv를 함께 사용하여 가상환경을 생성할 수 있습니다. virtualenv가 설치되어 있는지 확인합니다. 하지만 MAC OS 에 비해 좀 귀찮네요.
pip install virtualenv
특정 Python 버전을 사용하여 가상환경을 생성합니다.
pyenv shell 3.10.11
virtualenv virtualEnv_31011
## pyenv virtualenv 3.10.11 virtualEnv_31011 # MAC OS 와 다른점이에요.
windows 에서는 Pyenv-Virtualenv plugin 을 사용할 수 없습니다. 그래서 위와 같은 방법을 사용할 수 밖에 없어요.
4.2. 가상환경 목록 확인
생성된 가상환경 목록을 확인합니다.
## pyenv virtualenvs #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
4.3. 가상환경 활성화
생성한 가상환경을 활성화합니다.
virtualEnv_31011\Scripts\activate # 폴더위치 확인하세요... ^^
## pyenv activate myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
4.4. Package 설치
가상환경이 활성화된 상태에서 pip 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다. 예를 들어, requests 패키지를 설치하려면 다음과 같이 입력합니다.
pip install requests
설치하고 나면 \virtualEnv_31011\Lib\site-packages 폴더내에 request 관련 libray 들이 설치되어 있는 것을 확인할 수 있습니다.
4.5. 가상환경 비활성화
작업이 끝난 후 가상환경을 비활성화합니다.
deactivate
4.6. 가상환경 삭제
필요 없는 가상환경을 삭제합니다.
rmdir /s /q virtualEnv_31011
## pyenv uninstall myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
결론
이제 pyenv-win을 사용하여 Windows 환경에서 Python 버전과 가상환경을 쉽게 관리할 수 있게 되었습니다. 다양한 프로젝트마다 필요한 Python 버전을 독립적으로 설정하고, 가상환경을 활용하여 패키지 충돌 없이 개발을 진행할 수 있습니다. pyenv-win은 Python 개발자의 생산성을 높이는 데 큰 도움이 됩니다. 하지만 Windows 에서는 pyenv 의 기능이 조금은 복잡하고 귀찮은 과정이 있네요..
Windows 에서 virtualenv 를 사용한 가상환경 관리는 MAC OS 와는 다르게 command 명령으로는 설치하지 못하고 Python 공식 site 로 이동하여 설치할 Version 을 Download 하여 직접설치를 해야하는 불편이 있네요. 대신 Custom 설치를 사용해서 Python 들을 찾기 쉬운곳에 한군데에 모아 놓을 수 있는 장점?은 있네요(제가 본래 Windows 사용자라 MAC 에는 약간 어색함이 있어요. ^^;).
저는 3.8 버전을 Download 받았습니다.
작업 디렉터리 설정
가상환경을 생성할 디렉터리로 이동합니다. 예를 들어, `D:\Python_Envs\envs` 디렉터리를 만들고 이동.
mkdir D:\\Python_Envs\envs
가상환경 생성
`virtualenv` 모듈을 사용하여 가상환경을 만듭니다. `virtualenv` 뒤에 가상환경의 이름을 지정합니다. 예를 들어, `Py38`라는 이름으로 가상환경을.. Python 3.8 version 으로 만든다.
cd C:\\Python_Envs\envs
virtualenv Py38 --python=3.8
3. 가상환경 활성화
가상환경을 활성화하여 해당 가상환경에서만 Python과 패키지들이 작동하게 합니다.
다음 명령어를 입력하여 가상환경을 활성화합니다.
PowerShell
Py38\\Scripts\\activate.ps1
Command Prompt
Py38\\Scripts\\activate
활성화되면 명령 프롬프트에 `(Py38)`라는 표시가 붙습니다. 이는 가상환경이 활성화되었음을 의미합니다.
4. 패키지 설치
가상환경이 활성화된 상태에서 `pip` 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다. 예를 들어, `requests` 패키지를 설치하려면 다음과 같이 입력합니다.
pip install requests
5. 가상환경 비활성화
작업을 마친 후 가상환경을 비활성화하려면 다음 명령어를 입력합니다.
deactivate
6. 가상환경 삭제
가상환경을 더 이상 사용하지 않으려면 가상환경 디렉터리를 삭제하면 됩니다. 예를 들어, `Py38` 디렉터리를 삭제합니다.
PowerShell
rmdir Py38
Command Prompt
rmdir /s /q Py38
이렇게 하면 가상환경이 삭제됩니다.
마무리
이 단계를 통해 Windows에서 Python 가상환경을 손쉽게 구성하고 사용할 수 있습니다. 가상환경을 사용하면 프로젝트 간의 패키지 충돌을 피하고, 각 프로젝트에 필요한 패키지 버전을 독립적으로 관리할 수 있습니다. 이제 가상환경을 만들어 더욱 깔끔하고 효율적인 Python 개발을 하게 되었습니다!
행복한 고수되십시오. WooGong ))* \\\\\\\\\\\\\\\\\\\\\\\\\\\\\