Offcanvas

How To / 개발자 / 애플리케이션

‘필요에 맞춰 골라 쓴다’ 파이썬 배포판10종 라운드업

2023.10.06 Serdar Yegulalp  |  CIO KR
속도, 안정성, 휴대성, 작은 풋프린트, 데이터 기능성 등에서 무엇이 필요하든, 다음의 파이썬 배포판 중 하나가 해답일 수 있다.
 
Image Credit : Getty Images Bank


소프트웨어 개발에 있어 파이썬을 선택하면 프로그래밍 요구사항을 충족할 수 있는 다양한 패키지가 있는 대규모 언어 생태계에 진입할 수 있다. 특히 GUI 개발부터 머신러닝에 이르는 각종 라이브러리 외에도 여러 개의 파이썬 런타임 중에서 선택할 수 있다. 각각의  런타임들은 각자의 매력을 가지고 있다. 

표준 구현인 C파이썬(CPython)부터 속도에 최적화된 버전인 파이파이(PyPy), 특수 사용 사례인 아나콘다 및 액티브파이썬(Anaconda, ActivePython), 실험적 사용 사례인 마이크로파이썬 및 러스트파이썬(MicroPython, RustPython)에 이르기까지 파이썬 배포판 10종에 대한 간략한 설명을 정리했다.

C파이썬
C파이썬(CPython)은 다른 모든 파이썬이 참조하는 표준 버전인 파이썬 참조 구현체(Python reference implementation)다. C파이썬은 이름이 보여주듯 C로 작성되며, 파이썬 언어에 대한 최상위 결정을 담당하는 동일 핵심 그룹에 의해 생성된다. 

C파이썬의 사용 사례
C파이썬은 파이썬의 참조 구현체이기에, 최적화 측면에서 특히 보수적인 런타임의 성격을 가져왔다. 파이썬의 유지 관리자들은 C파이썬이 가장 광범위하게 호환되고 표준화된 파이썬 구현체가 되기를 희망한다. 그러나 지난 몇 건의 개정이 이루어지는 동안 개발팀은 호환성을 희생시키지 않으면서도 파이썬을 일반적으로 더 빠르게 만들 수 있도록 설계된 최적화를 도입했다. 

C파이썬은 파이썬 표준과의 호환성 및 적합성이 중요할 경우 가장 좋은 선택지다. 파이썬의 가장 근본적인 인카네이션(incarnation)으로 작업을 원하고, 특정 편의성을 포기할 의향이 있는 전문가에게 유용하다. 예를 들어, C파이썬의 경우 가상 환경 설정을 위해 리프팅(lifting)을 조금 더 수행해야 한다. 참고로 기타 배포판(특히 아나콘다)은 작업 공간 설정을 중심으로 더 많은 자동화를 제공한다. 

C파이썬의 한계
C파이썬은 다른 버전의 파이썬에서 볼 수 있는 성능 최적화 기능을 거의 갖추고 있지 않다. 또한 기본 JIT(just-in-time) 컴파일러, 가속화된 수학 라이브러리, 성능을 위한 써드파티 추가 기능도 없다. 이러한 것들을 모두 추가할 수 있기는 하지만 번들로 제공되지는 않는다. 다시 말하지만, 이는 최대 호환성을 보장하고 C파이썬이 참조 구현체 역할을 할 수 있도록 하기 위해서다. 그러나 이는 성능 최적화는 개발자에게 달려있음을 의미한다. 

또한 C파이썬은 파이썬과 함께 작업하기 위한 기본 도구 셋만 제공한다. 예를 들어, Pip 패키지 관리자의 경우, 파이썬의 네이티브 PyPI 패키지 저장소에서 패키지를 가져와 설치한다. Pip는 사전 컴파일 된 바이너리를 제공하는 경우 이를 설치할 것이다. 그러나 패키지가 PyPI 외부에서 가질 수 있는 종속성은 설치하지 않는다. 

아나콘다 파이썬
아나콘다 Inc(Anaconda Inc ; 이전에는 컨티늄 애널리틱스(Continuum Analytics)였다)가 만든 아나콘다는 기업 지원 계획이 있는 배포판이 필요한 파이썬 개발자를 위해 설계됐다. 아나콘다 파이썬의 주요 사용 사례는 수학, 통계, 엔지니어링, 데이터 분석, 머신러닝 및 관련 애플리케이션이다. 

아나콘다 파이썬의 사용 사례
아나콘다는 상용 및 과학용 파이썬 작업에 사용되는 일반적인 라이브러리인 싸이파이(SciPy), 넘파이(NumPy), 넘바(Numba) 등을 번들로 제공한다. 또한 맞춤형 패키지 관리 시스템을 통해 더 많은 라이브러리에 액세스할 수 있도록 지원한다. 

아나콘다의 경우, 이 모든 조각들을 통합하는 방식 측면에서 특별하다. 아나콘다가 설치되면 편리한 GUI를 통해 아나콘다 환경의 모든 부분을 활용할 수 있는 아나콘다 내비게이터(Anaconda Navigator)라는 데스크톱 앱을 이용할 수 있다. 아나콘다를 통해 구성 요소를 찾고, 이러한 요소의 최신 상태를 유지하며, 이와 함께 작업하면 C파이썬을 이용할 때보다 한결 더 수월하다. 

또 다른 장점은 아나콘다가 특정 패키지에 필요한 경우 파이썬 생태계 외부에서 컴포넌트를 처리하는 방식이다. 아나콘다를 위해 특별히 제작된 콘다 패키지 매니저(conda package manager)는 파이썬 패키지 설치 및 써드파티 외부 소프트웨어 요구사항 모두를 처리한다. 

아나콘다 파이썬의 한계
아나콘다는 유용한 라이브러리를 상당히 많이 포함하고 있으며, 단 몇 번의 키 입력만으로 다양한 요소를 설치할 수 있다. 이로 이해 아나콘다의 설치 용량은 파이썬 보다 훨씬 클 수 있다. 기본 C파이썬 설치는 약 100MB을 실행하나 아나콘다의 설치 용량은 기가바이트까지 커질 수 있다. 이러한 속성은 리소스 제약이 있는 상황에서 문제가 될 수 있다. 

아나콘다의 설치 용량을 줄이는 한 가지 방법은 실행 및 실행에 필요한 최소 조각만을 포함하는 아나콘다의 축소버전 미니콘다(Miniconda)를 설치하는 것이다. 이를 통해 각 조각이 어느 정도의 공간을 사용하는 지를 고려해 적합한 수준으로 미니콘다에 패키지를 추가할 수 있다. 

회원 전용 콘텐츠입니다. 이 기사를 더 읽으시려면 로그인 이 필요합니다. 아직 회원이 아니신 분은 '회원가입' 을 해주십시오.

Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.