Windows 에서 Python 개발환경 설정 01 - Python 멀티 버전 설치 및 개발 환경 격리(가상화)

2023. 4. 10. 00:00Python/FASTAPI

반응형

1. Visual Studio Code 설치 및 설정

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

링크에 다운로드로 가서 system installer 를 통해 설치 하자 (windows 기준)

 

 

Intellisense, Linting, Debugging 등을 지원하는 확장을 설치하자

 

2. Pyenv 설치 및 Python 설치

 

Pyenv Python 여러 버전 설치하고 관리할 있도록 해주는 python version 관리 시스템이다.

Python pip 등을 이용해 많은 종속성 package 들을 설치하고 관리해야 하기 때문에

Python 버전은 이러한 종속성에 영향을 준다.

그래서 여러 버전의 Python 설치하고 사용해야 있다.

Pyenv 이러한 버전 관리를 좀더 간편하게 있도록 하는 version 관리 시스템이다

 

PowerShell 열고 다음을 입력한다.

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

 

UnauthorizedAccess 관련 오류가 나오면 아래를 실행 한다.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

 

 

다음을 실행해서 install 가능한 Python version 확인하자

Pyenv install –l

  

그러면 설치 가능한 Python version 들이 나타난다.

  

만약 version 별로 존재 하지 않으면 다음 명령을 실행해본다.

Pyenv update

  

이제 python 설치 해보자

Pyenv install 3.11.2

명령은 Python 3.11.2 version 설치하게 된다.

 

이제 설치가 되었는지 확인해 보자

Pyenv versions

 

이제 다른 version Python 설치해보자

Pyenv install 3.10.10

 

 

이제 설치가 되었는지  다시 확인해 보자

Pyenv versions

  

이제 Python version check 보자

Python --version

 

이제 버전을 위에 설치한 다른 버전인 3.10.10 으로 실행되도록 변경해 보자

다음 명령을 실행 한다.

Pyenv global 3.10.10

 

이후에 다시 python version 해보자

Python --version

Pyenv 의해 현재 활성화 되어 있는 Python version 알고 싶다면 다음 명령을 실행하자

Pyenv versions

 

3.10.10 3.11.2 version 설치되어 있고

현재 3.10.10 활성화 되어 있는 것을 확인 있다.

 

만약 pyenv 의해 설치된 python 삭제 하고 싶다면 다음 명령을 실행하자

Pyenv uninstall 3.10.10

 

이후 pyenv versions 다시 실행해보면 해당 versioin 삭제 것을 있다.

별표가 없어서 현재 global python 설정되어 있지 않으므로

다음을 실행하여 python 특정 version 활성화 하자

Pyenv global 3.11.2

 

 

3. Poetry 설치

poetry  package 설치 관리자이다. (종속성관리)

물론 python 에는 pip 라는 package 설치 관리자가 존재 한다.

하지만 이것이 많은 단점이 있다.

충돌이 일어나기도 하고 문제가 발생하는 경우가 많다.

이러한 문제를 해결하려고 poetry 라는 package 설치 관리자를 이용할 것이다.

이것은  nodejs npm 같은 수준에 version 관리를 하게 된다.

 

Powershell 에서 아래 명령을 실행 하여 설치 하도록 하자

 

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

 

만약 이미 설치 되어 있어서 삭제 후 다시 설치 하려면 먼저 삭제하자

(Invoke-WebRequest -Uri https://install.python-poetry.org  -UseBasicParsing).Content | python - --uninstall

 

Path 경로를 추가 하자

아래 명령을 실행해보면 설치 위치가 나온다

 

echo %APPDATA%\Python\Scripts

 

또는 아래 위치를 경로에 추가해도 된다.

(여긴 바로가기 파일이 있고 이파일이 참조하고 있는 path 위에 경로이다)

 

C:\Users\본인ID\AppData\Roaming\Python\Scripts

 

이제 정상적으로 실행되는지 확인해 보자

 

Poetry –version

 

4. 가상환경 설정

Python 3.6 이상부터는 자체적으로 포함되어 있는 venv 이용하여 가상 환경을 설정하는 것을 추천하고 있다. 아래와 같은 명령을 실행해보자

현재 python version 기준으로 가상 환경이 만들어 지기 때문에

Pyenv 통해 원하는 pyton version 선택하고 실행하면 된다.

기억할 것은 현재 활성화된 python version 기준으로 아래 환경이 만들어 진다는 것이다.

지금 예제에서는 3.11.2 버전이 pyenv 의해서 활성화 되어 있으므로

이름도 3_11_2 같이 지정하였다. 참고 바란다.

 

python -m venv C:\Programming\venv\python3_11_2

 

이제 해당 venv 환경을 활성화 하기 위해 다음 명령을 실행하자

C:\Programming\venv\python3_11_2\Scripts\activate.bat

 

그러면 다음과 같이 가상 환경을 통해 python 사용할 있게 된다.

 

이제 pyenv 이용해서 다른 버전을 설치하고 venv 격리해보자

Pyenv install 3.10.10

Pyenv global 3.10.10

python -m venv C:\Programming\venv\python3_10_10

C:\Programming\venv\python3_10_10\Scripts\activate

위와 같이 설정하면 두개의 격리된 가상 환경을 통해 여러 버전의 python 사용 배포 가능하다.

위에서 가상 환경 에서 나오려면 <path>\deactivate.bat 실행하면 된다

 

5. FASTAPI 설치

일단 가상 환경을 실행시켜서 프로젝트를 격리 시켜보자

위에서 이미 만들었던 가상 환경이 있으므로 그것을 이용해보자

C:\Programming\venv\python3_11_2\Scripts\activate.bat

 

이제 project folder 아무거나 하나 만들자

해당 folder 이동한 pip install fastapi[all] 사용하여 fastapi 관련된 종속성을 설치하자

이렇게 되면 개발을 위한 기본 단계는 것이다.

물론 가상 환경에 만들었으므로 언제든지 다른 python 버전으로 변경 가능하다.

가상 환경을 나갈 때는 아래 명령을 실행하자

C:\Programming\venv\python3_11_2\Scripts\deactivate.bat

 

6.  Pyenv 와 Poetry 를 이용한 프로젝트 생성 및 가상 환경 설정

Python 개발은 종속성 문제가 항상 발목을 잡는다.

내부적인 pip 종속성 version 관리 시스템은 뭔가 부족하다.

그래서 이러한 부분들을 처리 하기 위해서 Poetry 라는 것을 이용한다.

Poetry project 일단 생성하자

Poetry new demo

Poetry pyenv 같이 사용하려면 다음과 같은 설정이 필요하다.

Poetry env use <python 실행 파일 위치>

Python 설치 위치 다음과 같이 pyenv 에서 python version 관리하는 위치로 이동하자

 

pyenv 아래와 같은 위치에서 python.bat 이용해 version 변경하고 있다.

C:\Users\User\.pyenv\pyenv-win\shims\python3.bat

 

그러므로 우리는 Poetry env use Python3.bat 이용하면 현재 version 기준으로 가상환경이 만들어 진다. 이것을 이용하여 자연스럽게 가상환경 격리를 사용 있다.

만약 현재 python version 바꾸고 싶다면

Pyenv global <python version>

입력하고

다시 Poetry env use Python3.bat 실행하면 된다.

가상 환경에 들어가려면 Poetry shell 실행하고 나오려면 exit 하면 된다.

Poetry shell 이후에 Poetry add fastapi[all] 하면 위에서 했던 fastapi 설치가 된다.

 

 

관련영상

https://youtu.be/KSwDAhIzXxI

반응형