1. 개요
pipx를 사용해야 하는 이유
Python 패키지를 설치할 때 일반적으로 pip를 사용하지만, 일부 CLI(Application) 패키지는 전역적으로 설치하면서도 격리된 환경에서 실행하는 것이 더 적합할 수 있다. 이를 위해 pipx를 사용하면 다음과 같은 장점이 있다.
pip와의 차이점
| 특징 | pip | 
pipx | 
|---|---|---|
| 기본 설치 위치 | 가상환경 없음, 시스템 전역 또는 프로젝트 폴더 내 | 개별적인 가상환경에서 격리하여 설치 | 
| CLI 앱 실행 | python -m <패키지> 혹은 직접 실행 | 
pipx run <패키지>로 직접 실행 가능 | 
| 패키지 관리 | 프로젝트별 의존성 관리에 적합 | 전역 CLI 도구 설치 및 관리에 적합 | 
주요 기능
- 각 패키지를 별도의 가상환경에 설치하여 시스템 Python 환경을 오염시키지 않음
 pipx run을 사용해 별도 설치 없이 CLI 패키지 실행 가능- 설치된 모든 패키지를 한 번에 업데이트하는 기능 제공
 - 에 등록
 
2. pipx 설치 및 기본 사용법
2.1 pipx 설치
macOS에서는 Homebrew로 설치하거나 python의 pip 명령어로 설치할 수 있다.
> pip install pipx
# brew로 설치
> brew install pipx
> pipx ensurepath  # PATH 설정 (터미널 재시작 필요)
pipx에서는 ensurepath 명령어를 실행하여 자동으로 환경 변수를 설정할 수 있다. 환경 변수 설정이 완료되면, 터미널을 재시작하거나 source ~/.bashrc 또는 source ~/.zshrc 명령어를 실행해야 현재 오픈된 셀에서도 바로 사용할 수 있다.
2.2 pipx 사용법
2.2.1 패키지 설치
pipx install <패키지명> 명령어를 사용하면 해당 패키지가 격리된 가상환경에서 설치된다.
> pipx install poetry  # poetry를 pipx로 설치
  installed package poetry 2.1.1, installed using Python 3.13.2
  These apps are now globally available
    - poetry
done! ✨ 🌟 ✨
pipx로 설치된 패키지는 list 명령어로 확인할 수 있다.
> pipx list
venvs are in /Users/user/.local/pipx/venvs
apps are exposed on your $PATH at /Users/user/.local/bin
manual pages are exposed at /Users/user/.local/share/man
   package crawl4ai 0.5.0.post4, installed using Python 3.13.2
    - crawl4ai-doctor
    - crawl4ai-download-models
    - crawl4ai-migrate
    - crawl4ai-setup
    - crwl
   package httpie 3.2.4, installed using Python 3.13.2
    - http
    - httpie
    - https
    - man1/http.1
    - man1/httpie.1
    - man1/https.1
   package poetry 2.1.1, installed using Python 3.13.2
    - poetry
설치 후 which 명령어를 사용하여 실행 경로도 확인할 수 있다.
> which poetry  # /Users/username/.local/bin/poetry
2.2.2 패키지 실행
설치된 패키지는 바로 실행할 수 있다.
> poetry --version
> http --help  # httpie 실행
2.2.3 패키지 제거
패키지 제거는 uninstall 명령어로 제거한다.
> pipx uninstall poetry
설치된 모든 패키지를 한 번에 삭제하려면 다음 명령어를 사용한다.
> pipx uninstall --all
3. 마무리
pipx를 사용하면 CLI 도구를 격리된 환경에서 안전하게 관리할 수 있다. 특히, poetry, black, httpie 같은 글로벌 CLI 도구를 관리할 때 매우 유용하다. 앞으로 전역적으로 설치할 CLI 패키지는 pip 대신 pipx를 활용해 보자! 🚀


