Jupyter Notebook (테스트이유 / 실행방법 )

Ruah·2024년 8월 23일

theory

목록 보기
3/11

Jupyter Notebook

이 블로그에서는 jupyter notebook을 사용해 테스트를 하는 이유와 실행방법, 그리고 요즘을 잘사용하지 않는 이유에 대해 써보려합니다.


Jupyter Notebook을 사용해 테스트하는 이유

1. 대화형 개발환경

  • 주피터 노트북은 코드와 결과를 한 번에 확인할 수 있는 대화형 환경을 제공합니다. 즉, 코드를 작성하고 셀을 실행하면 즉시 결과를 볼 수 있습니다. 이를 통해 코드의 작은 부분을 빠르게 테스트하고, 결과를 확인하면서 개발을 진행할 수 있습니다.

2. 단계별 코드 실행

  • 주피터 노트북에서는 코드를 셀 단위로 나누어 실행할 수 있습니다. 이를 통해 큰 프로젝트를 단계별로 나누어 테스트할 수 있으며, 코드의 특정 부분만 수정하여 실행해볼 수 있습니다. 예를 들어, API 키 로딩, 데이터베이스 연결, 쿼리 실행 등 각 단계를 별도로 테스트할 수 있습니다.

3. 시각화 및 분석에 유리

  • 주피터 노트북은 코드 실행 결과를 바로 시각화할 수 있어 데이터 분석이나 결과 확인에 매우 유리합니다. 예를 들어, 검색된 문서나 데이터의 내용을 그래프로 시각화하거나, 텍스트 분석 결과를 바로 확인할 수 있습니다.

4. 빠른 프로토타이핑

  • 새로운 아이디어를 실험하고 빠르게 프로토타입을 만들 때 매우 유용합니다. 주피터 노트북은 코드, 설명, 시각화 결과 등을 한 곳에서 다루기 때문에, 복잡한 시스템의 작은 부분부터 전체 시스템까지 손쉽게 실험할 수 있습니다.

5. 문서화

  • 주피터 노트북에서는 코드와 함께 마크다운(Markdown) 형식으로 문서를 작성할 수 있습니다. 이로 인해 코드의 설명, 테스트 결과의 기록, 노트 작성 등을 쉽게 병행할 수 있습니다. 주피터 노트북을 사용하면 코드뿐만 아니라, 그 과정과 결과를 함께 문서화하는 데 매우 효율적입니다.

6. 결과의 공유와 재현 가능성

  • 주피터 노트북 파일(ipynb)은 쉽게 공유할 수 있고, 누군가가 그 파일을 열어 동일한 환경에서 실행할 경우 같은 결과를 얻을 수 있습니다. 이로 인해 다른 개발자와 협업하거나, 코드의 실행 결과를 그대로 재현할 때 매우 유리합니다.

개발환경 설정과 사용방법

1. 초기 세팅

conda create -n jupyter python=3.12
conda activate jupyter
pip install jupyter
  • conda create -n jupyter python=3.12:
    새로운 Conda 가상 환경을 만들기 위한 명령어입니다. jupyter_test라는 이름의 가상 환경을 만들고, Python 버전 3.12를 사용할 것임을 지정하고 있습니다.

  • conda activate jupyter:
    방금 생성한 jupyter_test 가상 환경을 활성화(activate)합니다. 이 명령어를 실행하면, 그 후에 설치하는 모든 Python 패키지는 이 환경에 설치됩니다.

  • pip install jupyter:
    jupyter 패키지를 현재 활성화된 가상 환경에 설치합니다. 이 명령어를 통해 주피터 노트북을 사용할 수 있게 됩니다.

2. 시작

cd <your directory>
conda activate jupyter
  • cd
    현재 작업 디렉토리를 py-code 디렉토리로 이동하고, 그 후 hw 디렉토리로 이동합니다. 두 개의 디렉토리를 순차적으로 이동할 때 사용됩니다.
  • conda activate jupyter:
    다시 한 번 가상 환경 jupyter_test를 활성화합니다. 일반적으로 이 단계는 이미 가상 환경이 활성화되지 않은 상태에서 작업을 시작할 때 필요합니다.

3. 웹 테스트 페이지 오픈

jupyter notebook
  • 주피터 노트북 서버를 시작하는 명령어입니다. 이 명령어를 실행하면, 브라우저가 열리며 주피터 노트북 인터페이스가 나타납니다. 여기서 노트북 파일을 열거나 새 노트북을 만들 수 있습니다.
!pip install load_dotenv sqlalchemy mysql mysql-connector-python pytz pinecone langchain openai
  • 저는 미리 필요한 라이브러리들을 설치해놓은 상태로 테스트 해보았습니다.

  • 사용하려는 pip module들을 설치해 테스트합니다.

요즘 Jupyter Notebooke을 실제 프로젝트에 사용하지 않는 이유

주피터 노트북은 작은 실험이나 교육, 프로토타이핑에는 좋지만, 복잡한 프로젝트나 협업에는 적합하지 않을 때가 있습니다.

1. 프로젝트 관리 어려움

  • 큰 프로젝트에서 코드 구조화가 어렵고, 버전관리(git)와의 호환성이 떨어져 협업에 불편함이 있다.

2. 재현성 문제

  • 셀을 순서대로 실행하지 않으면 코드 실행 결과가 달라질 . 수잇어서, 동일한 결과를 얻기가 어렵다.

3. 성능 제한

  • 대규모 데이터 처리나 고성능 작업에 적합하지 않다. 스크립트나 다른 도구들이 더 효율적일수 있다.

4. 협업 불편

  • 코드 리뷰가 어렵고, 협업 도구들과의 호환성이 떨어져 팀 작업에 불편함이 있다.

5. 환경 설정 복잡

  • 다른 사람의 컴퓨터에서 동일한 환경을 설정하는 것이 어려울 수 있다.
profile
집요한 주니어 개발자의 호되게 당했던 기록

0개의 댓글