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을 설치한 상태여야 합니다.

git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git %USERPROFILE%\.pyenv\plugins\pyenv-virtualenv

특정위치에 가상환경을 몰아 놓으려면 %USERPROFILE%.pyenv 를 수정하면 되겠죠?

실행시키면 아래와 같은 폴더가 생성됩니다. (저의 Profile 은 JH.Woo 입니다.)

1.2. 환경 변수 설정

pyenv-win의 실행 파일이 시스템의 경로에 포함되도록 환경 변수를 설정합니다.

setx PATH "%USERPROFILE%\.pyenv\pyenv-win\bin;%USERPROFILE%\.pyenv\pyenv-win\shims;%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv\bin;%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv\shims;%PATH%"

## setx PATH "%USERPROFILE%\.pyenv\pyenv-win\bin;%USERPROFILE%\.pyenv\pyenv-win\shims;%PATH%"
## setx PATH "%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv;%PATH%"

위 명령어를 실행하면 시스템>고급시스템 설정> 환경변수> 사용자변수 에 다음과 같이 등록됩니다.

환경 변수가 적용되도록 Command Prompt를 다시 시작합니다.

2. pyenv-win 기본 사용법

2.1. Python 버전 설치

pyenv-win을 사용하여 원하는 버전의 Python을 설치합니다. 예를 들어, Python 3.8.10 을 설치합니다.

pyenv install 3.8.10

설치된 폴더는 아래 그림과 같네요.

2.2. 설치된 Python 버전 확인

설치된 Python 버전 목록을 확인합니다.

pyenv versions

pyenv versions 를 통해서 pyenv 로 설치해서 등록된 python version 들을 확인할 수 있습니다.
다른 where python 이나 py -0 명령어로 조회해 보면 pyenv 를 사용해서 등록한 python 의 모습은 볼 수가 없습니다.

Get-Command python* | Select-Object Name, Version, Source

powershell 의 명령어로도 찾을 수가 없군요.

2.3. 글로벌 Python 버전 설정

시스템 전체에서 사용할 기본 Python 버전을 설정합니다.

pyenv global 3.8.10

궁금해서 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 의 기능이 조금은 복잡하고 귀찮은 과정이 있네요..

여튼 재미나게 python 을 사용할 수 있게 되었습니다.

다음번에는 anaconda 의 환경 설정을 살펴보겠습니다.




행복한 고수되십시오.

WooGong ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

Windows 에서 파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.

Windows에서 Python 가상환경 구성하기

Python 개발을 하다 보면 프로젝트마다 다른 패키지 버전이 필요할 때가 있다. 이를 관리하기 위해 Python 가상환경을 사용하는 것이 좋습니다. 이번 포스트에서는 Windows에서 Python 가상환경을 구성하고 사용하는 방법을 단계별로 진행해 봅니다.

1. Python pip Upgrade

pip install --upgrade pip

upgrade 중 위와 같은 오류메세지가 나온다면 이미지 하단의 설명과 같이 다음 명령을 실행합니다.

python.exe -m pip install --upgrade pip

2. 가상환경 생성

Python 가상환경을 생성하기 위해 Powershell 을 엽니다.

설치된 Python 확인

현재 Windows 에 설치된 Python 의 version 들을 확인합니다.

PowerShell

PowerShell 에서는 다음 방법 중 두가지를 사용합니다.

py -0

Get-Command python* | Select-Object Name, Version, Source

where python

Powershell 에서는 where python 이 작동하지 않네요.

Command Prompt

where python

Command Prompt 에서는 작동되네요.

새로 구성할 Python version 설치


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 ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.

1. Homebrew 설치

먼저 Homebrew가 설치되어 있어야 합니다. Homebrew는 macOS에서 소프트웨어 패키지를 관리하기 위한 훌륭한 도구입니다. Homebrew가 설치되어 있지 않다면, 터미널을 열고 아래 명령어를 입력하여 Homebrew를 설치합니다:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. pyenv와 pyenv-virtualenv 설치

Homebrew를 사용하여 pyenvpyenv-virtualenv를 설치합니다. 터미널에서 다음 명령어를 실행합니다:

brew install pyenv
brew install pyenv-virtualenv

3. 쉘 환경 설정

pyenvpyenv-virtualenv를 사용할 수 있도록 쉘 환경을 설정합니다. 사용하는 쉘에 따라 설정 방법이 다릅니다. 대부분의 경우, ~/.bashrc, ~/.bash_profile, 또는 ~/.zshrc 파일을 수정합니다.

Bash를 사용하는 경우, ~/.bash_profile에 다음 내용을 추가합니다:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Zsh를 사용하는 경우, ~/.zshrc에 다음 내용을 추가합니다:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

파일을 수정한 후, 쉘 설정을 다시 로드합니다:

source ~/.bash_profile  # Bash 사용자
source ~/.zshrc         # Zsh 사용자

4. Python 설치 가능 버전 확인

pyenv를 사용하여 설치할 수 있는 Python 버전들을 확인합니다. :

pyenv install --list

5. Python 버전 설치

pyenv를 사용하여 원하는 Python 버전을 설치합니다. 예를 들어 Python 3.12.3을 설치하려면 다음 명령어를 실행합니다:

pyenv install 3.12.3

설치된 Python 버전을 확인하려면 다음 명령어를 사용합니다:

pyenv versions

6. 가상환경 생성

pyenv-virtualenv를 사용하여 가상환경을 생성합니다. 예를 들어, myPython_test_env라는 이름의 가상환경을 Python 3.12.3 버전으로 생성하려면 다음 명령어를 실행합니다:

pyenv virtualenv 3.12.3 myPython_test_env

7. 가상환경 생성

생성 후 가상환경들을 확인해 봅니다.

8. 가상환경 활성화 및 비활성화

생성한 가상환경을 활성화하려면 다음 명령어를 실행합니다:

pyenv activate myPython_test_env

가상환경을 비활성화하려면 다음 명령어를 실행합니다:

pyenv deactivate

9. 가상환경 제거

더 이상 필요하지 않은 가상환경을 제거하려면 다음 명령어를 실행합니다:

pyenv virtualenv-delete myPython_test_env

이제 pyenvpyenv-virtualenv를 사용하여 Python 가상환경을 구성하는 방법을 살펴보았습니다.
이를 통해 프로젝트마다 독립적인 Python 환경을 설정하고 관리할 수 있겠죠?!

모두 행복한 고수되십시오.

WooGong ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

+ Recent posts