728x90
반응형
poetry"는 Python 패키지 관리 및 의존성 관리를 위한 오픈 소스 도구입니다. poetry를 사용하면 Python 프로젝트의 의존성을 관리하고, 가상 환경을 생성하며, 패키지를 빌드하고 배포하는 등의 작업을 간편하게 수행할 수 있습니다.
poetry의 주요 기능은 다음과 같습니다:

 

  1. 의존성 관리: poetry는 프로젝트의 의존성을 관리하기 위해 pyproject.toml 파일을 사용합니다. 이 파일에는 프로젝트의 의존하는 패키지 목록과 버전 정보가 포함됩니다.
  2. 가상 환경 관리: poetry는 각 프로젝트에 대해 별도의 가상 환경을 생성하여 의존성을 격리할 수 있습니다. 이를 통해 프로젝트 간의 의존성 충돌을 방지하고, 의존성 관리를 더욱 효율적으로 할 수 있습니다.
  3. 패키지 관리: poetry를 사용하여 새로운 패키지를 추가하고, 기존 패키지를 업데이트하고, 패키지를 제거하는 등의 작업을 쉽게 수행할 수 있습니다.
  4. 배포 지원: poetry는 프로젝트를 패키지로 빌드하고 PyPI와 같은 패키지 저장소에 게시하는 기능을 제공합니다.

poetry는 Python 프로젝트를 관리하고 개발하는 데 있어서 매우 유용한 도구로 평가되고 있으며, Python 개발자들 사이에서 널리 사용되고 있습니다.

 
Poetry 설치 
 

Introduction | 1.7 | Documentation | Poetry - Python dependency management and packaging made easy

If you installed using the deprecated get-poetry.py script, you should remove the path it uses manually, e.g. rm -rf "${POETRY_HOME:-~/.poetry}" Also remove ~/.poetry/bin from your $PATH in your shell configuration, if it is present.

python-poetry.org

  • Linux 또는 Windows 의 경우 아래와 같이 파워쉘에서 아래 코드를 실행
# linux 의 경우
curl -sSL https://install.python-poetry.org | python3 -


# windows 파워쉘의 경우

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
 
Poetry 사용방법 
# 가상환경 생성
# C:\Users\shim\poetry>poetry new testenv
Created package testenv in testenv

# C:\Users\shim\poetry>cd testenv

# 가상환경 진입
# C:\Users\shim\poetry>testenv>poetry shell
(testenv-py3.11) C:\Users\shim\poetry\testenv>

# 가상환경 환경정보
# (testenv-py3.11) C:\Users\shim\poetry\testenv>poetry env info

Virtualenv
Python:         3.11.5
Implementation: CPython
Path:           C:\Users\shim\AppData\Local\pypoetry\Cache\virtualenvs\testenv-Cs3mTsQw-py3.11
Executable:     C:\Users\shim\AppData\Local\pypoetry\Cache\virtualenvs\testenv-Cs3mTsQw-py3.11\Scripts\python.exe
Valid:          True

Base
Platform:   win32
OS:         nt
Python:     3.11.5
Path:       C:\Users\shim\AppData\Local\Programs\Python\Python311
Executable: C:\Users\shim\AppData\Local\Programs\Python\Python311\python.exe

# 가상환경 리스트 보기
# (testenv-py3.11) C:\Users\shim\poetry\testenv>poetry env list
testenv-Cs3mTsQw-py3.11 (Activated)

# 가상환경 종료
# (testenv-py3.11) C:\Users\shim\poetry>deactivate
C:\Users\shim\poetry>

 

git clone 으로 다운로드 받은 디렉토리 가상환경으로 실행
# C:\Users\shim>
# C:\Users\shim>cd poetry
# C:\Users\shim\poetry>dir
# C:\Users\shim\poetry>git clone https://github.com/langchain-ai/langserve.git
Cloning into 'langserve'...
remote: Enumerating objects: 3171, done.
remote: Counting objects: 100% (49/49), done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 3171 (delta 20), reused 28 (delta 11), pack-reused 3122
Receiving objects: 100% (3171/3171), 6.87 MiB | 25.11 MiB/s, done.
Resolving deltas:   0% (0/2018)
Resolving deltas: 100% (2018/2018), done.

# C:\Users\shim\poetry>cd langserve

#  C:\Users\shim\poetry\langserve>poetry shell
(langserve-py3.11) C:\Users\shim\poetry\langserve>

# (langserve-py3.11) C:\Users\shim\poetry\langserve>poetry install
Installing dependencies from lock file
Package operations: 152 installs, 0 updates, 0 removals
  - Installing attrs (23.2.0)
  - Installing rpds-py (0.18.1)
  .... 
  .... 
  .... 생략
  - Installing ruff (0.1.15)
  - Installing sse-starlette (1.8.2)
Installing the current project: langserve (0.2.1)

# 가상환경 종료
# (langserve-py3.11) C:\Users\shim\poetry\langserve>deactivate
C:\Users\shim\poetry\langserve>

 

  • Poetry add [pakage 설치 ] 
# poetry add python

# poetry add langchain pypdf langchain-openai
728x90
반응형
LIST

+ Recent posts