#가상화 생성
robot@kimsh:~/work/Robot-AI/Python/python3$ python3 -m venv .venv
python3 -m venv .venv
# requirements.txt 파일이 있는지 확인한다.
robot@kimsh:~/work/Robot-AI/Python/python3$ ls
module module1 requirements.org.txt requirements.txt robot1 src
# requirements.txt를 만들어 왔다.
# 가상환경 시작
robot@kimsh:~/work/Robot-AI/Python/python3$ source ./.venv/bin/activate
# pip 업글 시작
(.venv) robot@kimsh:~/work/Robot-AI/Python/python3$ pip install --upgrade pip
Requirement already satisfied: pip in ./.venv/lib/python3.12/site-packages (24.0)
Collecting pip
Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 11.1 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 24.0
Uninstalling pip-24.0:
Successfully uninstalled pip-24.0
Successfully installed pip-25.3
# pip 업글 완료
# 기존에 만들었던 가상 환경을 그대로 복사해서 생성
(.venv) robot@kimsh:~/work/Robot-AI/Python/python3$ pip install -r ./requirements.txt
Collecting beautifulsoup4==4.14.3 (from -r ./requirements.txt (line 1))
Using cached beautifulsoup4-4.14.3-py3-none-any.whl.metadata (3.8 kB)
Collecting blinker==1.9.0 (from -r ./requirements.txt (line 2))
Using cached blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
Collecting click==8.3.1 (from -r ./requirements.txt (line 3))
Using cached click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
Collecting Flask==3.1.2 (from -r ./requirements.txt (line 4))
Using cached flask-3.1.2-py3-none-any.whl.metadata (3.2 kB)
Collecting itsdangerous==2.2.0 (from -r ./requirements.txt (line 5))
Using cached itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting Jinja2==3.1.6 (from -r ./requirements.txt (line 6))
Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting MarkupSafe==3.0.3 (from -r ./requirements.txt (line 7))
Using cached markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
Collecting soupsieve==2.8 (from -r ./requirements.txt (line 8))
Using cached soupsieve-2.8-py3-none-any.whl.metadata (4.6 kB)
Collecting typing_extensions==4.15.0 (from -r ./requirements.txt (line 9))
Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting Werkzeug==3.1.4 (from -r ./requirements.txt (line 10))
Using cached werkzeug-3.1.4-py3-none-any.whl.metadata (4.0 kB)
Using cached beautifulsoup4-4.14.3-py3-none-any.whl (107 kB)
Using cached blinker-1.9.0-py3-none-any.whl (8.5 kB)
Using cached click-8.3.1-py3-none-any.whl (108 kB)
Using cached flask-3.1.2-py3-none-any.whl (103 kB)
Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Using cached markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
Using cached soupsieve-2.8-py3-none-any.whl (36 kB)
Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB)
Using cached werkzeug-3.1.4-py3-none-any.whl (224 kB)
Installing collected packages: typing_extensions, soupsieve, MarkupSafe, itsdangerous, click, blinker, Werkzeug, Jinja2, beautifulsoup4, Flask
Successfully installed Flask-3.1.2 Jinja2-3.1.6 MarkupSafe-3.0.3 Werkzeug-3.1.4 beautifulsoup4-4.14.3 blinker-1.9.0 click-8.3.1 itsdangerous-2.2.0 soupsieve-2.8 typing_extensions-4.15.0
# 기존에 만들었던 가상 환경을 그대로 복사해서 생성 완료
(.venv) robot@kimsh:~/work/Robot-AI/Python/python3$