개발을 하다 보면 정적(static)인 파일로만 구성된 웹 사이트를 서비스해야 할 때가 있습니다. 정적인 웹 사이트를 생성하고 서비스하는 방법은 여럿 있지만, 저는 주로 파이썬을 활용합니다. 정적 웹 사이트를 Serving하려면 어떻게 해야 할까요? 아쉽지만 개인이라면 정적 웹 사이트를 인터넷에 서빙하는 일은 생각보다 어렵습니다. 다양한 방법 가운데 어떤 방법이 가장 효과적일지는 비용이나 배포 환경 등 제반 여건에 따라 다릅니다. 이 글이 여러분의 선택에 도움이 되기를 바랍니다.
파이썬으로 만들어진 프로그램을 배포할 때는 항상 파이썬 가상 환경을 사용했습니다. pipx가 사용되는 것은 여러 웹 사이트나 문서에서 많이 봐왔지만, 처음엔 ‘늘 사용하던 파이썬 가상 환경만 사용하면 됐지.. 뭘 더 배워야 하나’ 했습니다. 하지만 pipx를 사용하고 나니 제가 콘솔 스크립트가 포함된 파이썬 프로그램을 배포하는 과정이 엄청 지저분했구나 하는 생각이 들었습니다. 여러분도 제가 느낀 이런 천지가 개벽하는 느낌을 받을 수 있으면 좋겠습니다. 그래서 여러분에게도 pipx를 소개하고자 합니다.
개발 런타임을 사용하는 언어는 프로그램마다 사용하는 라이브러리가 다른 경우는 물론이고 같은 라이브러리를 사용하더라도 버전이 다를 수 있습니다. 심지어는 라이브러리가 지원하는 개발 런타임의 버전이 다른 경우도 존재합니다. 그러다 보니 개발 환경을 구축한다는 것이 당연히 어렵다면 어려울 수밖에 없게 된 거죠. 그래서 이 글에서는 개발 런타임을 사용하는 언어 중 파이썬을 중심으로 리눅스에서 개발 런타임을 구축하는 방법을 살펴보겠습니다. 파이썬의 개발 런타임 구축을 도와주는 도구는 여러 가지가 있지만 여기서는 pyenv를 살펴봅니다. pyenv는 여러 파이썬 개발 런타임을 자동으로 설치해주고 바로 사용할 수 있도록 준비해주는 대표적인 도구입니다.