How to install poetry, pyenv on Windows 11?

s3ich4n·2023년 8월 17일
0

tips-and-tricks

목록 보기
1/2
post-thumbnail

tips and tricks #1 ― 윈도우 11에서 pyenv, Poetry 설치하기

Prerequisites

🍅 tips!

파이썬 설치를 하지 않아도 pyenv-windows 설치는 가능하지만,
poetry 설치를 위해 파이썬을 설치하였습니다.

  1. where python(cmd), Get-Command python(PowerShell) 으로 사전에 설치한 파이썬 경로 확인
    1. 나는 파이썬 릴리스를 공홈에서 MSI 파일로 받았고, 경로를 일부 수정했음
      1. 수정한 경로: C:\Python\Python311
    2. 파이썬 설치경로 수정 및 기타 참고 사항은 공식링크를 참조

pyenv 설치 (PowerShell에서)

관리자 권한을 가진 PowerShell 을 구동 후, 아래 커맨드를 수행하여 pyenv를 설치한다.

(실행 전) 권한문제 해결

참고링크: bug: "pyenv.ps1 is not digitally signed" and "Security warning" #332

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

아래 명령을 통해 설치하여, 해당 쉘을 껐다켜면 pyenv 를 사용할 수 있다.

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"

환경변수 설정하기 (cmd에서)

버전 찾기

C:\my.study>pyenv install --list
:: [Info] ::  Mirror: https://www.python.org/ftp/python
2.4-win32
2.4.1-win32
(생략)
3.10.11
(중략)
3.12.0a7

설치하기

C:\my.study>pyenv install 3.10.11
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.10.11 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
:: [Downloading] ::  To   <PYENV_경로>\install_cache\python-3.10.11-amd64.exe
:: [Installing] ::  3.10.11 ...
:: [Info] :: completed! 3.10.11

C:\my.study>

로컬에서 해당 버전 사용하기

C:\my.study>pyenv local 3.10.11

C:\my.study>python --version
Python 3.10.11

C:\my.study>

poetry 설치 (PowerShell에서)

바이너리 다운로드

$env:POETRY_HOME = 'C:\Python\poetry'

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

환경변수 설정

  1. Win + Pause/Break 을 눌러 시스템 > 정보 탭으로 이동
  2. 시스템변수, 로컬변수의 Path값에 하기 Poetry 설치경로 추가
    • C:\Python\poetry\bin

poetry로 파이썬 의존성 관리

poetry 명령 쳐보기

C:\my.study>poetry
Poetry (version 1.5.1)

Usage:
  command [options] [arguments]

(생략)

 source
  source add         Add source configuration for project.
  source remove      Remove source configured for the project.
  source show        Show information about sources configured for the project.

C:\my.study>

poetry 명령을 pyenv 환경으로 사용하기

  • poetry 설정에 대해...
    - poetry 캐시 경로는 환경변수를 통해 변경할 수 있다
    - poetry config 으로 변경사항을 확인할 수 있다
  • (확인필요!) direnv 등으로 로컬에서 변경한 환경변수에 대해 poetry가 유동적으로 대응하는지는 모르겠다. 되면 짱좋을듯?
C:\my.study> pyenv local 3.10.11

C:\my.study> poetry env use python
Creating virtualenv <프로젝트명> in <poetry 캐시 경로명>
Using virtualenv: <프로젝트에서 사용할 pyenv 전체 경로명>

poetry 쉘이 잘 되는지 확인하기

C:\my.study>poetry shell
Spawning shell within <프로젝트에서 사용할 pyenv 전체 경로명>

(<설정한 venv명>) C:\my.study>

의존성 설치하기

(<설정한 venv명>) C:\my.study>poetry install

Updating dependencies
Resolving dependencies...

Package operations: 17 installs, 0 updates, 0 removals

  • Installing six (1.16.0)
  • Installing asttokens (2.2.1)
  • Installing executing (1.2.0)
  • Installing parso (0.8.3)
  • Installing wcwidth (0.2.6)
  • Installing traitlets (5.9.0)
  • Installing pure-eval (0.2.2)
  • Installing backcall (0.2.0)
  • Installing colorama (0.4.6)
  • Installing jedi (0.19.0)
  • Installing pickleshare (0.7.5)
  • Installing pygments (2.16.1)
  • Installing matplotlib-inline (0.1.6)
  • Installing stack-data (0.6.2)
  • Installing prompt-toolkit (3.0.39)
  • Installing decorator (5.1.1)
  • Installing ipython (8.14.0)

Writing lock file

(<설정한 venv명>) C:\my.study>

(optional) PyCharm에서 해당 인터프리터 설정하기

  1. Settings > Project: 프로젝트명 > Python Interpreter > Add Python Interpreter 접근
  2. Poetry Environment 접근
    1. Existing Environment 를 통해 상기 pyenv 경로를 기재하기
    2. 예시: <pyenv 전체 경로명>\Scripts\python.exe

경로를 추가하면...

경로를 추가하면...

이런 식으로 인식합니다!

이런 식으로 인식합니다!

추가사항

poetry를 지울 때는?

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

참고 게시글

profile
백엔드 프로그래머

2개의 댓글

comment-user-thumbnail
2023년 8월 17일

큰 도움이 되었습니다, 감사합니다.

1개의 답글