python

(VSCode) pyenv + poetry 적용 하는 법

베스트오버 2023. 6. 7. 22:55

https://beolog.tistory.com/118

 

(windows) pyenv 설치

https://github.com/pyenv-win/pyenv-win GitHub - pyenv-win/pyenv-win: pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch bet pyenv for Windows. pyenv is a simple python version management tool. It lets you easily

beolog.tistory.com

 

https://beolog.tistory.com/117

 

(windows) poetry 설치

Windows 환경에서 poetry 설치 방법 https://python-poetry.org/docs/#installing-with-the-official-installer Introduction | Documentation | Poetry - Python dependency management and packaging made easy If you installed using the deprecated get-poetry.p

beolog.tistory.com

 

`pyenv`와 `poetry`를 함께 사용하면 Python 개발 환경을 효과적으로 관리할 수 있습니다. 각 프로젝트에 대해 `pyenv`를 사용하여 Python 버전을 설정하고, `poetry`를 사용하여 해당 프로젝트의 의존성을 관리할 수 있습니다. 이런 방식으로 각 프로젝트는 독립적인 개발 환경을 가질 수 있으며, 이는 프로젝트 간의 의존성 충돌을 방지하고 코드를 다른 환경에서 실행하는 데 필요한 설정을 최소화하는 데 도움이 됩니다.

 

windows와 vscode 환경입니다.

 

1. PowerShell (관리자 권한)으로 원하는 python 버전을 찾아 설치, 전역 설정

pyenv install --list
pyenv install 3.10.5
pyenv global 3.10.5

 

2. vscode 해당 프로젝트의 터미널에서 지역 설정

pyenv local 3.10.5

 

3. poetry 초기화

poetry init

 

4. 프로젝트 폴더의 `poetry.toml` 파일 추가

[settings]
virtualenvs.create = true
virtualenvs.in-project = true

 

5. 패키지 설치

poetry add django

 

 

기타

1. `poetry`는 직접적으로 `requirements.txt를 지원하지 않지만, `poetry`에서 `requirements.txt`파일에 있는 패키지를 설치

while read requirement; do poetry add $requirement; done < requirements.txt

 

2. `pyproject.toml` 파일에 정의된 패키지를 설치

poetry install


이 명령어를 실행하면, poetry는 pyproject.toml 파일을 찾아 해당 파일에 적혀 있는 의존성 패키지들을 설치합니다. 이 과정에서 poetry는 적절한 가상 환경을 자동으로 생성하거나, 이미 존재하는 가상 환경을 사용하여 패키지들을 설치합니다.

만약 poetry가 가상 환경을 자동으로 생성하지 않는 경우, 가상 환경을 수동으로 생성한 후 다시 poetry install 명령어를 실행하면 됩니다. 이를 위해 아래의 명령어를 사용할 수 있습니다:

poetry shell

이 명령어를 실행하면 새 가상 환경이 생성되고, 해당 환경으로 전환됩니다. 이 상태에서 poetry install 명령어를 다시 실행하면, 가상 환경에 pyproject.toml 파일에 적혀 있는 패키지들이 설치됩니다.

 

3. 프로젝트 내에 .venv가 설치 되지 않는다면 아래 코드를 실행

poetry config virtualenvs.in-project true
poetry config virtualenvs.path "./.venv"

# 프로젝트 내부에 venv 새로 설치
poetry install && poetry update

https://github.com/microsoft/vscode-python/issues/1871

 

Support Poetry depenedency manager · Issue #1871 · microsoft/vscode-python

Currently it looks like Pipenv is supported but not poetry. Is there plans to support this dependency manager as well? Note: Activating poetry environments do not work (at least not yet). python-po...

github.com

 

 

vscode를 재시작하고 interpreter를 '.venv':poetry 로 변경

 

4. python 버전 설정 오류 시 PowerShell(관리자 모드) 해당 코드 실행

python --version
python3 --version

무언가 꼬여 있는 경우를 풀어 주는 듯하다.