-프로젝트마다 독립된 파이썬 실행 환경을 제공하기 위한 도구 -가상환경은 프로젝트 간의 의존성 충돌을 방지하고, 관리 효율성을 높이는 데 중요한 역할 -프로젝트 간 의존성 충돌 방지 ex.서로 다른 버전의 패키지를 사용한 경우 충돌이 일어남 → 각 프로젝트마다 독립적인 가상환경을 생성하면, 프로젝트별로 필요한 패키지와 버전을 격리하여 설치 -시스템 전역 환경 오염 방지 전역 환경(global environment)에 패키지를 설치하면, 불필요한 패키지로 인해 환경이 복잡해지고 관리가 어려워질 수 있음. 또한, 패키지를 잘못 삭제하거나 변경하면 다른 프로젝트에도 영향을 미칠 수 있음. 가상환경은 시스템 전역 환경과 독립적이므로, 특정 프로젝트에 필요한 패키지만 설치하여 전역 환경을 깔끔하게 유지할 수 있다. -프로젝트 이식성 향상 프로젝트를 다른 시스템(예: 동료 개발자의 컴퓨터 또는 배포 서버)으로 옮길 때, 동일한 파이썬 버전과 패키지를 정확히 맞춰야 하는 번거로움이 있습니다. 가상환경 내 설치된 패키지 목록을 requirements.txt로 저장하고, 이를 다른 환경에서 설치하면 동일한 실행 환경을 쉽게 재현할 수 있습니다. -파이썬 버전 격리 -팀 협업에서의 일관성 유지 -테스트 및 디버깅 환경 분리

mj@DESKTOP-8EI80N4:~$ sudo apt install python3-venv

mj@DESKTOP-8EI80N4:~$ python3 -m venv venv -> 폴더가 생성됨
mj@DESKTOP-8EI80N4:~$ ls
data  venv -> 문제가 생길 시 venv만 지우면 해결
mj@DESKTOP-8EI80N4:~$ source venv/bin/activate
(venv) mj@DESKTOP-8EI80N4:~$ pip -V
pip 22.0.2 from /home/mj/venv/lib/python3.10/site-packages/pip (python 3.10)
(venv) mj@DESKTOP-8EI80N4:~$ deactivate
mj@DESKTOP-8EI80N4:~$ pip -V
Command 'pip' not found, but can be installed with:
sudo apt install python3-pip

sudo apt install python3-pip
pip3 install jupyter lab
sudo apt install jupyter-core

mj@DESKTOP-8EI80N4:~$ **python3 -V**
Python 3.10.12
mj@DESKTOP-8EI80N4:~$ **sudo apt install python3**
mj@DESKTOP-8EI80N4:~$ **python3 -V**
Python 3.10.12
mj@DESKTOP-8EI80N4:~$ **sudo apt install python3-venv**

mj@DESKTOP-8EI80N4:~$ **ls**
data
mj@DESKTOP-8EI80N4:~$ **python3 -m venv venv**
mj@DESKTOP-8EI80N4:~$ **ls**
data  venv
mj@DESKTOP-8EI80N4:~$ **source venv/bin/activate**
(venv) mj@DESKTOP-8EI80N4:~$ **pip -V**
pip 22.0.2 from /home/mj/venv/lib/python3.10/site-packages/pip (python 3.10)
(venv) mj@DESKTOP-8EI80N4:~$ **deactivate**
mj@DESKTOP-8EI80N4:~$ **pip -V**
Command 'pip' not found, but can be installed with:
sudo apt install python3-pip
mj@DESKTOP-8EI80N4:~$ **sudo apt install python3-pip**

mj@DESKTOP-8EI80N4:~$ j**upyter lab**
Command 'jupyter' not found, but can be installed with:
sudo apt install jupyter-core
mj@DESKTOP-8EI80N4:~$ **pip3 install jupyter-core**
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: jupyter-core in ./.local/lib/python3.10/site-packages (5.7.2)
Requirement already satisfied: traitlets>=5.3 in ./.local/lib/python3.10/site-packages (from jupyter-core) (5.14.3)
Requirement already satisfied: platformdirs>=2.5 in ./.local/lib/python3.10/site-packages (from jupyter-core) (4.3.6)
mj@DESKTOP-8EI80N4:~$ **jupyter lab ———————> 아마 내 기존의 서버가 켜져 있어서 그런거일지도??????? 다시 해보니까 된다**
Command 'jupyter' not found, but can be installed with:
sudo apt install jupyter-core
mj@DESKTOP-8EI80N4:~$ **source venv/bin/activate**
(venv) mj@DESKTOP-8EI80N4:~$ **ls**
data  venv
(venv) mj@DESKTOP-8EI80N4:~$ **pip
(venv) mj@DESKTOP-8EI80N4:~$ pip install jupyterlab

(venv) mj@DESKTOP-8EI80N4:~$ jupyter lab

To access the server, open this file in a browser:
    file:///home/mj/.local/share/jupyter/runtime/jpserver-2708-open.html
Or copy and paste one of these URLs:
    **<http://localhost:8888/lab?token=4bc69daf5b6dd0075f3e34d5905b7ac4683615ded4c8539c>———→ 이 링크 누르면 됨다
    <http://127.0.0.1:8888/lab?token=4bc69daf5b6dd0075f3e34d5905b7ac4683615ded4c8539c>**
    
    
 
(venv) mj@DESKTOP-8EI80N4:~$ deactivate
mj@DESKTOP-8EI80N4:~$ ls
data  test.ipynb  venv
mj@DESKTOP-8EI80N4:~$ sudo rm -rf venv
[sudo] password for mj:
mj@DESKTOP-8EI80N4:~$ jupyter --version
Selected Jupyter core packages...
IPython          : 8.32.0
ipykernel        : 6.29.5
ipywidgets       : 8.1.5
jupyter_client   : 8.6.3
jupyter_core     : 5.7.2
jupyter_server   : 2.15.0
jupyterlab       : 4.3.5
nbclient         : 0.10.2
nbconvert        : 7.16.6
nbformat         : 5.10.4
notebook         : 7.3.2
qtconsole        : not installed
traitlets        : 5.14.3
mj@DESKTOP-8EI80N4:~$ ls
data  test.ipynb  venv1  venv2
mj@DESKTOP-8EI80N4:~$ . venv1/bin/activate
(venv1) mj@DESKTOP-8EI80N4:~$ pip list
Package    Version
---------- -------
pip        22.0.2
setuptools 59.6.0
(venv1) mj@DESKTOP-8EI80N4:~$ pip list
Package    Version
---------- -------
pip        22.0.2
setuptools 59.6.0
(venv1) mj@DESKTOP-8EI80N4:~$ pip install jupyterlab
백업 pip freeze > requirements.txt
복구 pip install -r requirements.txt

image.png

좌측에서 pip freeze 하고 우측에서 pip install 하면 좌측에서만 설치한 jupyterlab이 우측에서도 실행된다