python : python interpreter 를 실행시키는 명령어
python3 은 말 그대로 python3 버전 인터프리터...
왜 1이랑 2는 없는거지 했는데 옛날에는 python2, python3 이 같이 설치되어 있었기 때문에 버전 구분이 필요해서 3만 따로 생긴듯
pip, pip3 은 package 설치 도구
pip3 을 안 붙이면 PATH 에 잡힌 기본 pip 를 가리킴 (2일수도..있음)
문제
# cv2 를 사용하는 python 파일 실행했는데 cv2가 없다고 함
PS C:\Users\user\Documents\ai-cms\docs\tools> python3 test_person_count.py
Traceback (most recent call last):
File "C:\Users\user\Documents\ai-cms\docs\tools\test_person_count.py", line 7, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'
# cv2 를 설치하려고 하니까 이미 존재 (Requirement already satisfied)
PS C:\Users\user\Documents\ai-cms\docs\tools> pip3 install opencv-contrib-python
Requirement already satisfied: opencv-contrib-python in c:\users\user\appdata\local\programs\python\python312\lib\site-packages (5.0.0.93)
Requirement already satisfied: numpy>=2 in c:\users\user\appdata\local\programs\python\python312\lib\site-packages (from opencv-contrib-python) (2.5.1)
[notice] A new release of pip is available: 25.0.1 -> 26.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip
나는 이런 문제가 발생했다 ....
필요한 패키지가 없어서 오류가 뜸 -> pip3 으로 install 받으려고 했는데 이미 있다고 함... < 예???
원인
python3 이랑 pip3 이 서로 다른 pyrhon 설치본을 가리키고 있어서 뜨는 오류
where.exe python3
where.exe pip3

python3, pip3 이 각각 어떤 실행파일, 인터프리터를 쓰는지 확인하는 명령어로 확인해보니
둘이 다른 경로를 가리키고 있음 => 다른 설치본
해결 과정

일단 진짜 설치본보다 PATH 우선순위가 높아서 이상한곳으로 연결되는 경우가 흔하다고 해서
설정 - 앱 - 고급 앱 설ㄹ정 - 앱 실행 별칭 에서 꺼줬다
그리고 powershell 에서 python list 를 확인

python 3.14.7 이 설치되어 있었다...! uninstall 해주기 -> 3.12 만 남김
py --list
pythonmanager uninstall 3.14
앞으로 실행할때 py -3.12 로 명시하는 습관 들여두면 이후에 다른 python 버전을 다운받을때도 편하다고 한다
아니면 아예 python 이 참조하는 site-packages 에 설치되어 꼬이지 않도록 명시해주는 방법 사용하기 (아마 얘가 제일 편한듯)
python -m pip install xxx
pip install xxx 는 path 에 잡힌 pip 실행 파일을 그대로 실행 -> 어떤 pyhton 에 연결된 pip 인지 헷갈림
python3 -m pip install xxx -> 지금 사용중인 python3 인터프리터에 정확하게 연결
해결 2
개별 venv (가상 환경 - virtual environment) 사용
# 가상환경 생성
python3 -m venv venv
# 가상환경 활성화
source venv/bin/activate
# 가상환경 활성화 (windows)
venv\Scripts\activate
# 활성화된 상태에서는 그냥 pip, python 써도 안전함
pip install xxx
이러면 pip, python 이 다른데를 안 봄