아래는 VS Code에서 Jupyter Notebook을 가상환경을 통해 설정하는 과정과, 이를 왜 해야 하는지, 주의할 점까지 포함해 보았습니다.

 

제가 설치할 때마다 느꼈던 혼란을 바탕으로, 누구나 쉽게 따라할 수 있도록 정리했습니다.


Part 1:

VS Code에서 가상환경을 사용해 Jupter Notebook 설치 및 설정

 

1. 가상환경 생성

가상환경은 프로젝트마다 독립적인 Python 환경을 제공합니다. 이는 패키지 충돌을 방지하고, 유지보수성을 높여줍니다.

 

명령어

  • 터미널 열기
    원하는 디렉토리로 이동합니다.

가상환경 생성

python -m venv jupyter_env
  • jupyter_env는 가상환경 이름으로, 프로젝트에 맞게 변경 가능합니다.

생성된 가상환경 폴더는 현재 디렉토리 내에 생성됩니다.

 

왜 필요한가요?

  • 프로젝트마다 필요한 패키지가 다를 수 있습니다.
  • 전역 Python 환경과의 충돌을 방지합니다.

 

 

주의할 사항

  • 가상환경 이름을 명확히 설정하세요.
    • 예: ml_project_env, data_analysis_env 등.
  • 가상환경 생성 디렉토리를 기록해두세요.

 

2. 가상환경 활성화

가상환경을 활성화하면 이후의 작업은 해당 환경에만 영향을 미칩니다.


명령어

  • Windows (PowerShell):
jupyter_env\Scripts\activate
  • macOS/Linux:
source jupyter_env/bin/activate

왜 필요한가요?

  • 가상환경이 활성화되지 않으면 전역 환경에서 패키지가 설치될 가능성이 있습니다.
  • 가상환경 내에서 작업하면 독립성과 안정성을 유지할 수 있습니다.

 

 

주의할 사항

  • 활성화되면 터미널에 (jupyter_env) 표시가 나타납니다.
  • 활성화되지 않은 상태에서 패키지를 설치하면 전역 환경에 영향을 미칠 수 있습니다.

 

3. Jupyter Notebook 설치

활성화된 가상환경에서 Jupyter Notebook을 설치합니다.

명령어

pip install notebook

왜 필요한가요?

  • Jupyter Notebook은 Python 기반의 대화형 노트북 환경을 제공하며, 데이터 분석과 머신러닝 프로젝트에 필수적입니다.

주의할 사항

  • 설치 중 오류가 발생하면 pip를 최신 버전으로 업데이트하세요:
    pip install --upgrade pip
    

4. VS Code에서 Jupyter 확장 설치

VS Code는 Jupyter 확장 설치를 통해 .ipynb 파일을 실행할 수 있습니다.

설치 방법

  1. VS Code 실행 후 왼쪽 사이드바에서 Extensions(확장) 아이콘을 클릭합니다.
  2. Jupyter를 검색하고 설치합니다.
  3. Python 확장도 설치해야 합니다.

왜 필요한가요?

  • VS Code에서 Jupyter Notebook을 실행하려면 반드시 Jupyter 확장이 필요합니다.

주의할 사항

  • Python 확장이 설치되지 않으면 .ipynb 파일이 열리지 않을 수 있습니다.

5. Jupyter Notebook 실행

가상환경에서 Jupyter Notebook을 실행하여 작업을 시작합니다.

방법 1: VS Code 터미널에서 실행

  1. 가상환경이 활성화된 상태에서 다음 명령어를 실행합니다:
    jupyter notebook
    
  2. 브라우저가 열리며, Jupyter 인터페이스가 나타납니다.

방법 2: VS Code에서 실행

  1. 새 .ipynb 파일 생성:
    • VS Code에서 새 파일을 생성하고 .ipynb 확장자로 저장합니다.
  2. 커널 선택:
    • 상단 메뉴에서 Kernel → Select Kernel을 클릭합니다.
    • 생성한 가상환경(jupyter_env)을 선택합니다.

6. 가상환경을 Jupyter 커널로 등록

Jupyter Notebook에서 가상환경을 인식하도록 설정합니다.

명령어

  1. ipykernel 설치:
    pip install ipykernel
    
  2. 가상환경을 Jupyter 커널로 등록:
    python -m ipykernel install --user --name=jupyter_env --display-name "Python (jupyter_env)"
    

왜 필요한가요?

  • Jupyter Notebook에서 가상환경의 Python 및 패키지를 사용하도록 보장합니다.
  • 전역 환경 대신 독립된 환경에서 작업을 유지할 수 있습니다.

주의할 사항

  • Jupyter Notebook 실행 후 Kernel → Change Kernel에서 Python (jupyter_env)를 선택해야 합니다.
  • 커널 이름(--display-name)을 명확히 설정해 다른 프로젝트와 구분하세요.

7. 작업 종료 후 가상환경 비활성화

작업이 끝나면 가상환경을 비활성화하여 다른 작업 환경으로 전환합니다.

명령어

deactivate

 

Part 2:

가상환경 사용의 장점 및 주의사항

 

1. 주요 장점

  • 독립적인 환경 유지: 프로젝트마다 필요한 패키지 버전을 구분하여 안정성을 유지합니다.
  • 전역 환경 오염 방지: 전역 환경의 혼란을 방지하고 시스템 안정성을 유지합니다.
  • 이동성과 재현성: 동일한 환경을 쉽게 재현할 수 있습니다.

2. 주의할 사항

  • 항상 가상환경 활성화 여부를 확인하세요.
  • VS Code에서 올바른 Python 인터프리터를 선택해야 합니다.
  • Jupyter 커널이 등록되지 않은 경우 ipykernel 설치와 등록을 다시 확인하세요.

3. FAQ

  1. 왜 가상환경을 사용해야 하나요?
    • 전역 환경의 패키지 충돌을 방지하기 위해서입니다.
  2. VS Code에서 가상환경이 보이지 않아요.
    • Python 인터프리터를 재설정하거나 가상환경이 활성화되었는지 확인하세요.
  3. Jupyter 커널이 나타나지 않아요.
    • ipykernel을 설치하고 커널 등록을 다시 실행하세요.

VS Code와 Jupyter Notebook은 가상환경을 활용하면 프로젝트별로 독립적이고 안정적인 개발 환경을 제공합니다. 위 단계를 차근차근 따라가면 복잡한 설정도 손쉽게 완료할 수 있습니다.

 


4. 추가 FAQ

Q1. VS Code에서 Jupyter Notebook이 작동하지 않을 때 어떻게 하나요?

원인

  • Jupyter 확장이 올바르게 설치되지 않았거나, Python 인터프리터가 잘못 설정된 경우 발생합니다.

해결 방법

  1. Jupyter 확장 재설치:
    • VS Code의 확장 메뉴에서 Jupyter를 제거하고 다시 설치합니다.
  2. Python 인터프리터 확인:
    • 하단 상태 표시줄에서 현재 Python 인터프리터를 확인합니다.
    • 올바른 가상환경(jupyter_env)이 선택되었는지 확인하세요.
  3. 터미널에서 Jupyter 실행 테스트:
    • VS Code 외부의 터미널에서 jupyter notebook 명령어를 실행해 브라우저에서 Jupyter가 열리는지 확인합니다.

Q2. Jupyter Notebook에서 "No Kernel" 오류가 발생할 때

원인

  • Jupyter Notebook이 커널을 인식하지 못하거나, 가상환경이 Jupyter 커널로 등록되지 않은 경우입니다.

해결 방법

  1. ipykernel 설치 여부 확인:
    • 가상환경이 활성화된 상태에서 다음 명령어를 실행합니다: 
    • pip show ipykernel
    • 출력 결과가 없으면, pip install ipykernel 명령어로 설치합니다.
  2. 가상환경을 커널로 다시 등록:
  3. python -m ipykernel install --user --name=jupyter_env --display-name "Python (jupyter_env)"
  4. 커널 목록 확인:
    • 등록된 커널 목록을 확인합니다:
      jupyter kernelspec list
      
    • 출력 결과에 jupyter_env가 포함되어야 합니다.
  5. Jupyter Notebook 재시작:
    • Jupyter Notebook을 종료한 뒤 다시 실행합니다:
      jupyter notebook
      

Q3. 가상환경에서 설치한 패키지가 노트북에서 동작하지 않습니다.

원인

  • Jupyter Notebook이 가상환경이 아닌 전역 Python 환경을 사용하고 있을 가능성이 있습니다.

해결 방법

  1. Jupyter Notebook 상단 메뉴에서 Kernel → Change Kernel로 이동.
  2. 올바른 커널(Python (jupyter_env))을 선택합니다.
  3. 패키지가 여전히 동작하지 않으면, 노트북 내에서 설치된 패키지를 확인합니다:
    • 패키지가 표시되지 않으면, 터미널에서 패키지를 다시 설치하세요:
      pip install package_name
      
  4. !pip list

Q4. 가상환경 없이 Jupyter Notebook을 설정할 수 있나요?

  • 가능은 하지만 권장되지 않습니다.
    • 전역 Python 환경에서 Jupyter Notebook을 설정할 경우, 프로젝트별로 필요한 패키지나 버전이 충돌할 위험이 있습니다.
    • 가상환경은 Python 프로젝트를 독립적으로 관리할 수 있는 안전한 방법입니다.

Q5. 여러 프로젝트에서 동일한 Jupyter 환경을 사용하려면 어떻게 하나요?

  • 하나의 가상환경을 모든 프로젝트에서 공유하려면 다음 방법을 사용할 수 있습니다:
    1. 하나의 가상환경(예: shared_env)을 생성하고 필요한 패키지를 설치합니다.
    2. 프로젝트에서 Python 인터프리터로 shared_env를 선택하여 사용합니다.

5. Jupyter Notebook의 효율적 사용을 위한 팁

(1) Jupyter Notebook 내에서 패키지 설치

노트북 내부에서 패키지를 설치하려면 !pip 명령을 사용할 수 있습니다:

!pip install package_name

그러나, 터미널에서 설치하는 것이 더 안정적이며 추천됩니다.


(2) Jupyter Notebook 확장(Extensions) 사용

nbextensions를 설치하면 Jupyter Notebook에 유용한 기능을 추가할 수 있습니다:

  1. 설치:
    pip install jupyter_contrib_nbextensions
    jupyter contrib nbextension install --user
    
  2. 브라우저에서 확장을 활성화:
    • 메뉴에서 필요한 확장을 선택하여 사용합니다.

(3) Jupyter Lab으로 업그레이드

Jupyter Lab은 Jupyter Notebook의 업그레이드된 버전으로, 더욱 향상된 인터페이스와 기능을 제공합니다.

  1. 설치:
    pip install jupyterlab
    
  2. 실행:
    jupyter lab
    

(4) 자동화된 환경 설정 스크립트 작성

자주 사용하는 환경 설정 과정을 자동화하려면 Bash 또는 PowerShell 스크립트를 작성할 수 있습니다.

예: PowerShell 스크립트

python -m venv jupyter_env
jupyter_env\Scripts\activate
pip install notebook ipykernel pandas matplotlib
python -m ipykernel install --user --name=jupyter_env --display-name "Python (jupyter_env)"

이 스크립트를 실행하면 가상환경 생성, 활성화, 패키지 설치, 커널 등록이 한 번에 완료됩니다.


6. 결론 및 추천 워크플로우

  1. 가상환경 생성 및 활성화: 프로젝트별 독립적인 환경을 만드세요.
  2. 패키지 설치 및 Jupyter 설정: 필요한 패키지를 가상환경 내에 설치하고 Jupyter 커널을 등록하세요.
  3. VS Code 설정: 올바른 Python 인터프리터와 Jupyter 확장을 설정하여 원활한 작업을 보장하세요.
  4. 문제 해결: 커널 및 패키지 문제는 FAQ에 따라 해결하세요.
  5. 자동화 및 효율성: 스크립트를 활용해 환경 설정을 간소화하세요.

이 가이드를 기반으로, 독립적이고 재현 가능한 Python 개발 환경을 구축해보세요.

혹시 오타나 업데이트 등으로 수정해야 할 것이 있으면 댓글로 알려주세요. 수정하곘습니다. 감사합니다.  😊

 

 

Python을 사용하면서 Pylint를 사용하여 코드의 질을 개선할 수 있습니다.

이에 대하여 동영상을 통하여 살펴보았습니다.

감사합니다.

https://youtu.be/oVMn4v4f7H8

 

 

 들어가며

프로그래밍 등을 하다 보면 변수, 함수 등에 대한 이름을 정할 때마다 어떻게 하나 하는 고민이 항상 있습니다. 저 또한 처음에는 솔직히 편한데로 한 경우가 많습니다. 프로그래밍에서 변수, 함수, 클래스 등의 이름을 지을 때 사용하는 "Naming Convention (네이밍 컨벤션)"은 코드의 가독성과 유지 보수에 큰 영향을 미칩니다. 이번 글에서는 네이밍 컨벤션의 종류와 각각의 특징, 사용 사례에 대해 알아보겠습니다.

 

 네이밍 컨벤션의 중요성

프로그래밍에서 공백은 예약된 문자로, 변수나 함수의 이름에 공백을 사용할 수 없습니다. 예를 들어, `number of donuts`라는 변수명을 직접 사용할 수 없으며, 이를 연결해주는 네이밍 컨벤션을 사용해 `numberOfDonuts` `number_of_donuts`와 같이 표현해야 합니다.

 

네이밍 컨벤션의 종류 

 

1. Snake Case

Snake case는 각 단어를 언더스코어(_)로 연결하는 방식입니다. 모든 문자는 소문자로 표현됩니다. Python과 데이터베이스에서 주로 사용됩니다.

예시:

# python

user_name = "Alice"
total_amount = 100

 

2. Kebab Case

Kebab case는 각 단어를 하이픈(-)으로 연결하는 방식입니다. 주로 URL에서 사용됩니다.

 

 

예시:

my-website.com/user-profile

 

3. Camel Case

Camel case는 첫 단어를 소문자로, 그 이후의 단어는 첫 글자를 대문자로 표현하는 방식입니다. Java, JavaScript에서 주로 사용됩니다.

예시:

//javascript

let userName = "Alice";
let totalAmount = 100;

 

4. Pascal Case

Pascal case Camel case와 유사하지만, 첫 단어도 대문자로 시작합니다. 클래스 이름에 주로 사용됩니다.

 

 예시:

public class UserProfile
{

    // ...

}

 

네이밍 컨벤션의 선택 

네이밍 컨벤션의 선택은 사용하는 프로그래밍 언어와 프로젝트의 규모, 팀 내의 합의 등에 따라 달라질 수 있습니다. 중요한 것은 일관성을 유지하는 것입니다.

 

예제: Python에서의 네이밍 컨벤션

 Python에서는 PEP 8이라는 스타일 가이드에 따라 주로 snake case를 사용합니다. 하지만 클래스 이름에는 Pascal case를 사용하는 등의 규칙이 있습니다.

 

예시:

# python

# 변수와 함수 이름에는 snake_case 사용

user_name = "Alice"

def get_user_profile():

    pass

 
# 클래스 이름에는 PascalCase 사용

class UserProfile:

    pass

 

 마무리

네이밍 컨벤션은 코드의 가독성을 높이고, 팀원 간의 협업을 용이하게 만들어줍니다. 각각의 네이밍 컨벤션에는 그에 맞는 사용처와 규칙이 있으므로, 상황에 따라 적절한 네이밍 컨벤션을 선택하여 사용하는 것이 좋습니다.

이 글을 통해 여러분도 네이밍 컨벤션의 중요성과 사용 방법에 대해 알게 되셨길 바랍니다. 행복한 코딩 되세요!

 

동영상

https://youtu.be/R8AfnsdiC-M?si=A41lD27kxmOkiVRL 

 

[참고] 기타 요약

프로그래밍 언어/분야 네이밍 컨벤션 예시 설명
일반/DB Snake
Case
snake_case_naming_convention 모든 문자를 소문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다. 주로 DB에서 사용됩니다.  
JAVA Camel
Case
camelCaseNamingConvention 첫 번째 단어를 제외하고 각 단어의 첫 글자를 대문자로 작성합니다. 주로 변수와 함수명에 사용됩니다.  
C++ Pascal
Case
PascalCaseNamingConvention 모든 단어의 첫 글자를 대문자로 작성합니다. 주로 클래스명에 사용됩니다.  
HTML, CSS Kebab
Case
kebab-case-naming-convention 모든 문자를 소문자로 작성하고 단어 사이에 하이픈(-)을 사용합니다.  
상수 표현 Scream
Snake
Case
SCREAM_SNAKE_CASE_EXAMPLE 모든 문자를 대문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다.  

추석 명절을 맞이하여 파이썬을 이용하여 보름달 맞이와 함께 매일 변하는 달의 모습을 관측해보겠습니다.

추석 명절 잘 보내세요.

 

관련 영상

https://youtu.be/WkIPoKp5XzY

 

관련 코드

 

[Python] 파이썬을 이용한 한가위 보름달 (Full moon) 맞이.ipynb
1.24MB

각종 사진이나 이미지에서 배경을 제거하고 싶은 경우가 종종 있습니다. 이런 파이썬을 이용하여 몇 줄 안되는 작업으로 정말 쉽게 제거가 가능합니다. 

 

https://youtu.be/GeBy91KPaRA

https://youtu.be/FCjXop153Rk

머신러닝이나 통계 등을 함에 있어 많은 사람들이 경우에 따라 Python과 R을 동시 또는 교차 사용하는 경우가 있습니다. 예를 들어 Python을 배우기 전에 통계 등에 있어 R을 사용한 경우에 기존의 R에 익숙하거나 R을 이용한 기존 프로그램을 이용하는 경우 그러한 필요성을 느끼게 됩니다.

 

이에 구글 코랩에서 R과 Python을 이용하는 방법을 알아보고자 합니다. (이러한 방법도 여러가지 변형이 있을 수 있고 관련 기술 및 Solution을 발전에 따라 이 글의 내용 중 일부를 향후 수정해야 할 수도 있다.)

 

파이썬과 R 을 동시 사용하기 (유튜브 영상 참조)

https://youtu.be/j0F_1wNJUwk

 

 

참고: 구글코랩에서 R  사용하기

 

(1) 구글코랩에서 R을 직접 사용하기 위해서는 다음과 같이  [런타임]에서 [런타임 유형 변경]을 선택함

 

(2) 런타임유형에서 [R]을 선택하고 [저장]을 누름

 

(3) 코드에 R 프로그램을 입력하여 이용하면 됨

 

 

 

 

+ Recent posts