iBetter Books
수정

marimo 설치와 버전 고정

marimo 설치

가상환경이 활성화된 상태에서 marimo를 설치합니다.

uv 사용

uv pip install "marimo==0.23.*"

pip 사용

pip install "marimo==0.23.*"

0.23.*는 0.23.x 시리즈의 최신 패치 버전을 설치한다는 의미입니다. 0.24 이상은 설치되지 않습니다.

설치 확인

설치가 완료되면 버전을 확인합니다.

marimo --version

0.23으로 시작하는 버전 번호가 출력되면 정상입니다.

왜 버전을 고정해야 하는가

marimo는 현재 0.x 시리즈입니다. 시맨틱 버전 규약에서 0.x는 불안정 단계를 의미하며, 마이너 버전 업그레이드(0.22에서 0.23으로)에서도 하위 호환성이 깨지는 변경이 포함될 수 있습니다.

버전을 고정하지 않은 상태에서 pip install marimo를 실행하면 그 시점의 최신 버전이 설치됩니다. 이 책의 예제가 작성된 버전과 다를 경우 일부 코드가 동작하지 않을 수 있습니다.

이 책은 0.23.x를 기준으로 작성했습니다. 동일한 버전을 사용하면 예제 코드가 그대로 동작합니다.

requirements.txt로 버전 고정

가장 간단한 방법은 requirements.txt 파일에 버전을 명시하는 것입니다.

# requirements.txt 생성echo "marimo==0.23.*" > requirements.txt

의존성을 이 파일에서 설치하면 버전이 일치합니다.

# uvuv pip install -r requirements.txt# pippip install -r requirements.txt

정확한 버전을 고정하려면 설치 후 freeze 명령으로 기록합니다.

# pippip freeze > requirements.txt# 이후 requirements.txt에는 marimo==0.23.4 처럼 패치 버전까지 고정됨

PEP 723 인라인 의존성과 sandbox 모드

marimo는 --sandbox 플래그를 지원합니다. 이 모드로 노트북을 열면 marimo가 노트북 파일 전용의 가상환경을 자동으로 생성합니다. 에디터 안에서 패키지를 설치하면 그 내용이 노트북 파일 상단에 자동으로 기록됩니다.

marimo edit --sandbox my_notebook.py

노트북 파일 상단에 다음 형태의 메타데이터가 추가됩니다.

# /// script# requires-python = ">=3.11"# dependencies = [#     "pandas==2.2.2",#     "altair==5.3.0",# ]# ///

이 형식은 PEP 723에서 정의한 인라인 스크립트 메타데이터입니다. 노트북 파일 하나에 실행에 필요한 Python 버전과 패키지 목록이 포함되어 있어, 파일 하나만 공유해도 동일한 환경을 재현할 수 있습니다.

sandbox 모드는 노트북별 격리 환경이 필요한 경우에 유용합니다. 공용 가상환경을 쓰는 프로젝트라면 requirements.txt 방식이 더 직관적입니다.

업그레이드 시 점검 방법

marimo를 새 버전으로 올리기 전에는 다음 순서로 점검합니다.

  1. 공식 릴리스 노트를 확인합니다.
    • https://github.com/marimo-team/marimo/releases
  2. "Breaking changes" 항목이 있으면 사용 중인 API가 포함되는지 확인합니다.
  3. 별도 가상환경에서 새 버전을 설치해 예제 노트북을 실행합니다.
  4. 문제가 없으면 운영 환경에 적용합니다.

이 책의 예제에서 버전 차이로 인한 변경 사항이 발생하면 GitHub 저장소 Issues 페이지에 기록됩니다.

https://github.com/sung2ne/textbook-marimo/issues