Python 2

파이썬 click 으로 명령행 앱 만들고 uv 로 빌드하기

재밌고 유용한 파이썬 프로그래밍! 파이썬으로 뭔가 의미있는 걸 만들고 나면, 이걸 잘 쓸 수 있도록 포장하고 배포하는 일 역시 중요하다. 실행에 필요한 라이브러리들이 잘 포함되도록 하고, 유닉스 명령행 앱 스타일로 다양한 옵션을 처리할 수 있도록 만들면 그럴 듯하게 써먹을 수 있다. 이를 위해선 파이썬 패키지 관리 pip, pipx 등이 필요하고, venv, pyenv 등 가상환경, argparse와 같은 명령행 파싱 모듈이 떠오른다. 하지만 막상 해보려 하면 생각치 못한 많은 이유로 쉽지 않다. 특히 파이썬을 macOS에서 쓰려면, 시스템에 설치된 것을 써야 할지, homebrew로 설치된 것을 쓸지, pyenv를 쓸지에 따라 여러 실행버전들을 혼동하게 되고, 거기에 패키지 관리 pip, pip3, c..

프로그래밍 2025.03.01

파이썬 발생자(generator)와 코루틴(coroutine)

지난 파이썬 반복자(iterator)와 발생자(generator) 편에서 발생자란 무엇인지, 어떻게 쓰는 것인지 기초를 알아봤다. 발생자는 함수와 유사하지만 특정 시점에 멈춘 후, 필요할 때마다 다음 단계를 진입하여 쓸 수 있다는 특징 때문에, 일반 무한루프를 대신하여 동시성(concurrency) 및 이벤트 기반 프로그래밍에 편리하게 사용된다. 이번 글에서는 발생자의 추가 기능을 더 알아보고, 동시성이 중요한 "코루틴(coroutine)"으로 활용하는 법을 소개한다.  앞편 글에서 봤듯이, 발생자는 함수 안에서 yield 구문을 통해 값을 하나씩 반환하면서 실행을 멈췄다가 다시 시작할 수 있다.  def simple_generator(): print("시작!") yield 1 print..

프로그래밍 2025.02.19
반응형