아래는 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 개발 환경을 구축해보세요.

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

 

 

또 새로운 발전을 보게 됩니다!✨ 오늘은 여러분과 함께 Llama.cpp와 Gradio를 사용하여 로컬에서 실행되는 AI 챗봇을 만드는 방법을 알아보겠습니다. 📚 따라 하기 쉬운 단계별 가이드를 통해, 누구나 5~10분 안에 자신의 컴퓨터에서 인터넷 연결없이 작동시킬 수 있는 챗봇을 구축할 수 있습니다! 💻

 

https://youtu.be/qTk1-3tG-10

 

 

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

+ Recent posts